(PHP 4 >= 4.0.2, PHP 5)
cur_setopt — cURL 전송 옵션을 설정합니다.
bool cur_setopt (리소스 $ch , int $option , 혼합 $value )
지정된 cURL 세션 핸들에 대한 옵션을 설정합니다.
채널
컬_init()에 의해 반환된 cURL 핸들입니다.
옵션
CURLOPT_XXX 옵션을 설정해야 합니다.
값
옵션에 설정할 값입니다.
다음 옵션의 선택적 매개변수의 경우 값은 bool 유형 값으로 설정되어야 합니다.
옵션 | 선택적 값 | 주목 |
---|---|---|
CURLOPT_AUTOREFERER | Location:을 기준으로 리디렉션하는 경우 헤더의 Referer: 정보가 자동으로 설정됩니다. | |
CURLOPT_BINARYTRANSFER | CURLOPT_RETURNTRANSFER가 활성화되면 원시 출력을 반환합니다. | |
CURLOPT_COOKIESESSION | 활성화되면 컬은 하나의 세션 쿠키만 전달하고 다른 쿠키는 무시합니다. 기본적으로 컬은 모든 쿠키를 서버에 반환합니다. 세션 쿠키는 서버 측 세션이 유효한지 확인하는 데 사용되는 쿠키를 말합니다. | |
CURLOPT_CRLF | 활성화되면 Unix 개행 문자를 캐리지 리턴 및 줄 바꿈으로 변환합니다. | |
CURLOPT_DNS_USE_GLOBAL_CACHE | 활성화되면 전역 DNS 캐시가 활성화되며 이는 스레드로부터 안전하며 기본적으로 활성화됩니다. | |
CURLOPT_FAILONERROR | HTTP 상태 코드를 표시합니다. 기본 동작은 400보다 작거나 같은 숫자의 HTTP 메시지를 무시하는 것입니다. | |
CURLOPT_FILETIME | 활성화되면 원격 문서의 정보를 수정하려고 시도합니다. 결과 정보는 curl_getinfo() 함수의 CURLINFO_FILETIME 옵션을 통해 반환됩니다. 컬_getinfo(). | |
CURLOPT_FOLLOWLOCATION | 활성화되면 서버에서 반환된 "Location:"이 헤더에 배치되고 재귀적으로 서버에 반환됩니다. 재귀 반환 횟수를 제한하려면 CURLOPT_MAXREDIRS를 사용하세요. | |
CURLOPT_FORBID_REUSE | 상호 작용이 완료된 후 연결이 강제로 끊어지며 다시 사용할 수 없습니다. | |
CURLOPT_FRESH_CONNECT | 캐시에 있는 연결을 대체하여 새 연결을 강제로 얻습니다. | |
CURLOPT_FTP_USE_EPRT | 활성화되면 FTP 다운로드 시 EPRT(또는 LPRT) 명령을 사용합니다. FALSE 로 설정하면 EPRT 및 LPRT가 비활성화되고 PORT 명령만 사용하십시오. | |
CURLOPT_FTP_USE_EPSV | 활성화되면 FTP 전송 중에 PASV 모드로 되돌아가기 전에 EPSV 명령이 먼저 시도됩니다. FALSE 로 설정된 경우 EPSV 명령을 비활성화합니다. | |
CURLOPT_FTPAPPEND | 활성화되면 파일을 덮어쓰는 대신 파일에 추가합니다. | |
CURLOPT_FTPASCII | CURLOPT_TRANSFERTEXT 의 별칭입니다. | |
CURLOPT_FTPLISTONLY | 활성화되면 FTP 디렉터리의 이름만 나열됩니다. | |
CURLOPT_HEADER | 활성화되면 헤더 파일 정보가 데이터 스트림으로 출력됩니다. | |
CURLINFO_HEADER_OUT | 활성화된 경우 추적 핸들에 대한 요청 문자열입니다. | PHP 5.1.3부터 사용 가능합니다. CURLINFO_ 접두사는 의도적인 것입니다. |
CURLOPT_HTTPGET | 활성화되면 HTTP 메서드가 GET으로 설정됩니다. GET이 기본값이므로 수정된 경우에만 사용됩니다. | |
CURLOPT_HTTPPROXYTUNNEL | 활성화되면 HTTP 프록시를 통해 전송이 이루어집니다. | |
CURLOPT_MUTE | 활성화되면 cURL 함수에서 수정된 모든 매개변수가 기본값으로 복원됩니다. | |
CURLOPT_NETRC | 연결이 설정된 후 ~/.netrc 파일에 접속하여 원격 사이트에 연결하기 위한 사용자 이름과 비밀번호 정보를 얻습니다. | |
CURLOPT_NOBODY | 활성화되면 HTML의 BODY 부분이 출력되지 않습니다. | |
CURLOPT_NOPROGRESS | 활성화되면 컬 전송 진행률 표시줄을 끕니다. 이 항목의 기본 설정은 활성화되어 있습니다.
| |
CURLOPT_NOSIGNAL | 활성화되면 컬이 PHP로 전달한 모든 신호를 무시합니다. 이 항목은 SAPI 멀티스레드 전송 중에 기본적으로 활성화됩니다. | cURL 7.10에 추가되었습니다. |
CURLOPT_POST | 활성화되면 양식 제출과 마찬가지로 application/x-www-form-urlencoded 유형의 일반 POST 요청이 전송됩니다. | |
CURLOPT_PUT | HTTP가 파일을 보낼 수 있도록 활성화한 경우 CURLOPT_INFILE 및 CURLOPT_INFILESIZE를 모두 설정해야 합니다. | |
CURLOPT_RETURNTRANSFER | cur_exec()로 얻은 정보를 직접 출력하는 대신 파일 스트림 형태로 반환합니다. | |
CURLOPT_SSL_VERIFYPEER | 비활성화되면 cURL이 서버에서 유효성 검사를 종료합니다. CURLOPT_CAINFO 옵션을 사용하여 인증서를 설정합니다. CURLOPT_CAPATH 옵션을 사용하여 인증서 디렉터리를 설정합니다. CURLOPT_SSL_VERIFYPEER (기본값 2)가 활성화되면 CURLOPT_SSL_VERIFYHOST를 TRUE 로 설정해야 하며 그렇지 않으면 FALSE 로 설정해야 합니다. | cURL 7.10부터 기본값은 TRUE 입니다. cURL 7.10부터는 번들 설치가 기본으로 제공됩니다. |
CURLOPT_TRANSFERTEXT | 활성화되면 FTP 전송에 ASCII 모드를 사용합니다. LDAP의 경우 HTML이 아닌 일반 텍스트 정보를 검색합니다. Windows 시스템에서는 시스템이 STDOUT을 바이너리 모드로 설정하지 않습니다. | |
CURLOPT_UNRESTRICTED_AUTH | 도메인 이름이 변경된 경우에도 CURLOPT_FOLLOWLOCATION 을 사용하여 생성된 헤더의 여러 위치에 사용자 이름 및 비밀번호 정보를 지속적으로 추가합니다. | |
CURLOPT_UPLOAD | 활성화되면 파일 업로드를 허용합니다. | |
CURLOPT_VERBOSE | 활성화되면 모든 정보가 STDERR 또는 지정된 CURLOPT_STDERR 에 보고되고 저장됩니다. |
다음 옵션의 선택적 매개변수의 경우 value는 정수 유형의 값으로 설정되어야 합니다.
옵션 | 선택적 값 | 주목 |
---|---|---|
CURLOPT_BUFFERSIZE | 캐시의 크기는 매번 얻은 데이터로 읽어오지만, 이 값이 매번 채워진다는 보장은 없습니다. | cURL 7.10에 추가되었습니다. |
CURLOPT_CLOSEPOLICY | CURLCLOSEPOLICY_LEAST_RECENTLY_USED 또는 CURLCLOSEPOLICY_OLDEST, 세 가지 다른 CURLCLOSEPOLICY가 있지만 cURL은 아직 이를 지원하지 않습니다. | |
CURLOPT_CONNECTTIMEOUT | 연결을 시작하기 전에 대기하는 시간입니다. 0으로 설정하면 무기한 대기합니다. | |
CURLOPT_CONNECTTIMEOUT_MS | 연결 시도를 기다리는 시간(밀리초)입니다. 0으로 설정하면 무한 대기합니다. | cURL 7.16.2에 추가되었습니다. PHP 5.2.3부터 사용 가능합니다. |
CURLOPT_DNS_CACHE_TIMEOUT | DNS 정보를 메모리에 저장하는 시간을 설정합니다. 기본값은 120초입니다. | |
CURLOPT_FTPSSLAUTH | FTP 인증 방법: CURLFTPAUTH_SSL (SSL 먼저 시도), CURLFTPAUTH_TLS (TLS 먼저 시도) 또는 CURLFTPAUTH_DEFAULT (cURL이 자동으로 결정). | cURL 7.12.2에 추가되었습니다. |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (기본값, 사용할 버전을 컬이 결정), CURL_HTTP_VERSION_1_0 (HTTP/1.0 강제) 또는 CURL_HTTP_VERSION_1_1 (HTTP/1.1 강제). | |
CURLOPT_INFILESIZE | 업로드된 파일의 크기 제한을 바이트 단위로 설정합니다. | |
CURLOPT_LOW_SPEED_LIMIT | 전송 속도가 CURLOPT_LOW_SPEED_LIMIT (바이트/초) 미만인 경우 PHP는 CURLOPT_LOW_SPEED_TIME을 사용하여 전송 속도가 너무 느리기 때문에 전송을 취소할지 여부를 결정합니다. | |
CURLOPT_LOW_SPEED_TIME | 전송 속도가 CURLOPT_LOW_SPEED_LIMIT (바이트/초) 미만인 경우 PHP는 CURLOPT_LOW_SPEED_TIME을 사용하여 전송 속도가 너무 느리기 때문에 전송을 취소할지 여부를 결정합니다. | |
CURLOPT_MAXCONNECTS | 허용되는 최대 연결 수를 초과하면 CURLOPT_CLOSEPOLICY를 사용하여 중지해야 할 연결을 결정합니다. | |
CURLOPT_MAXREDIRS | 최대 HTTP 리디렉션 수를 지정합니다. 이 옵션은 CURLOPT_FOLLOWLOCATION 과 함께 사용됩니다. | |
CURLOPT_PORT | 연결 포트를 지정하는 데 사용됩니다. (선택 과목) | |
CURLOPT_PROTOCOLS | 비트필드는 CURLPROTO_* 를 나타냅니다. 활성화되면 비트필드 값은 libcurl이 전송 중에 사용할 수 있는 프로토콜을 제한합니다. 이를 통해 많은 프로토콜을 지원하도록 libcurl을 컴파일할 수 있지만 사용이 허용된 프로토콜 중 일부만 사용할 수 있습니다. 기본적으로 libcurl은 지원하는 모든 프로토콜을 사용합니다. CURLOPT_REDIR_PROTOCOLS를 참조하세요. .사용 가능한 프로토콜 옵션은 다음과 같습니다: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | cURL 7.19.4에 추가되었습니다. |
CURLOPT_PROTOCOLS | 비트필드는 CURLPROTO_* 를 나타냅니다. 활성화되면 비트필드 값은 libcurl이 전송 중에 사용할 수 있는 프로토콜을 제한합니다. 이를 통해 많은 프로토콜을 지원하도록 libcurl을 컴파일할 수 있지만 사용이 허용된 프로토콜 중 일부만 사용할 수 있습니다. 기본적으로 libcurl은 지원하는 모든 프로토콜을 사용합니다. CURLOPT_REDIR_PROTOCOLS를 참조하세요. .사용 가능한 프로토콜 옵션은 다음과 같습니다: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | cURL 7.19.4에 추가되었습니다. |
CURLOPT_PROXYAUTH | HTTP 프록시 연결에 대한 확인 방법입니다. CURLOPT_HTTPAUTH 의 비트필드 플래그를 사용하여 해당 옵션을 설정합니다. 프록시 인증의 경우 현재 CURLAUTH_BASIC 및 CURLAUTH_NTLM 만 지원됩니다. | cURL 7.10.7에 추가되었습니다. |
CURLOPT_PROXYPORT | 프록시 서버의 포트입니다. 포트는 CURLOPT_PROXY 에서 설정할 수도 있습니다. | |
CURLOPT_PROXYTYPE | CURLPROXY_HTTP (기본값) 또는 CURLPROXY_SOCKS5 입니다. | cURL 7.10에 추가되었습니다. |
CURLOPT_REDIR_PROTOCOLS | CURLPROTO_* 의 비트필드 값입니다. 활성화된 경우 비트 필드 값은 CURLOPT_FOLLOWLOCATION 이 활성화된 경우 리디렉션을 따를 때 전송 스레드가 사용할 수 있는 프로토콜을 제한합니다. 이렇게 하면 리디렉션 시 전송 스레드를 허용된 프로토콜의 하위 집합으로 제한할 수 있습니다. 기본적으로 libcurl은 FILE 및 SCP를 제외한 모든 프로토콜을 허용합니다. 이는 지원되는 모든 프로토콜을 무조건 따르는 7.19.4 시험판 버전과 약간 다릅니다. 프로토콜 상수는 CURLOPT_PROTOCOLS 를 참조하세요. | cURL 7.19.4에 추가되었습니다. |
CURLOPT_RESUME_FROM | 전송을 재개할 때 바이트 오프셋을 전달합니다(전송 재개에 사용됨). | |
CURLOPT_SSL_VERIFYHOST | 1 서버 SSL 인증서에 공통 이름이 있는지 확인하세요. 번역자 주: 일반 이름(Common Name)은 일반적으로 SSL 인증서를 신청하려는 도메인 이름(도메인) 또는 하위 도메인(하위 도메인)을 입력하는 것을 의미합니다. 2 일반 이름이 존재하고 제공된 호스트 이름과 일치하는지 확인합니다. | |
CURLOPT_SSLVERSION | 사용할 SSL 버전(2 또는 3). 기본적으로 PHP는 이 값을 자체적으로 감지하지만 경우에 따라 수동으로 설정해야 할 수도 있습니다. | |
CURLOPT_TIMECONDITION | CURLOPT_TIMEVALUE 로 지정된 특정 시간 이후에 편집된 경우 CURL_TIMECOND_IFMODSINCE를 사용하여 페이지를 반환합니다. 수정되지 않았고 CURLOPT_HEADER가 true인 경우 "304 Not Modified" 헤더가 반환됩니다. CURLOPT_HEADER가 false인 경우 CURL_TIMECOND_IFUNMODSINCE를 사용합니다. , 기본값은 CURL_TIMECOND_IFUNMODSINCE 입니다. | |
CURLOPT_TIMEOUT | cURL 실행이 허용되는 최대 시간(초)을 설정합니다. | |
CURLOPT_TIMEOUT_MS | cURL 실행이 허용되는 최대 밀리초 수를 설정합니다. | cURL 7.16.2에 추가되었습니다. PHP 5.2.3부터 사용 가능합니다. |
CURLOPT_TIMEVALUE | CURLOPT_TIMECONDITION 에서 사용하는 타임스탬프를 설정합니다. 기본적으로 CURL_TIMECOND_IFMODSINCE가 사용됩니다. |
다음 옵션의 선택적 매개변수의 경우 값은 문자열 유형 값으로 설정되어야 합니다.
옵션 | 선택적 값 | 주목 |
---|---|---|
CURLOPT_CAINFO | 서버의 확인을 위해 하나 이상의 인증서를 보유하는 파일의 이름입니다. 이 매개변수는 CURLOPT_SSL_VERIFYPEER 와 함께 사용될 때만 의미가 있습니다. . | |
CURLOPT_CAPATH | 여러 CA 인증서를 보유하는 디렉터리입니다. 이 옵션은 CURLOPT_SSL_VERIFYPEER 와 함께 사용됩니다. | |
CURLOPT_COOKIE | HTTP 요청의 "Cookie:" 부분 내용을 설정합니다. 여러 쿠키는 세미콜론과 공백으로 구분됩니다(예: " fruit=apple; color=red "). | |
CURLOPT_COOKIEFILE | 쿠키 데이터가 포함된 파일의 이름입니다. 쿠키 파일의 형식은 Netscape 형식일 수도 있고 순수한 HTTP 헤더 정보만 파일에 저장할 수도 있습니다. | |
CURLOPT_COOKIEJAR | 연결이 완료된 후 쿠키 정보를 저장하는 파일입니다. | |
CURLOPT_CUSTOMREQUEST | HTTP 요청에 "GET" 또는 "HEAD" 대신 사용자 지정 요청 메시지를 사용하세요. 이는 "DELETE" 또는 기타 더 비밀스러운 HTTP 요청을 수행하는 데 유용합니다. 유효한 값은 "GET" , "POST" , "CONNECT" 등입니다. 즉, 여기에 전체 HTTP 요청을 입력하지 마세요. 예를 들어, "GET /index.html HTTP/1.0rnrn"을 입력하는 것은 올바르지 않습니다.
| |
CURLOPT_EGDSOCKET | 엔트로피 수집 데몬 소켓을 제외하고 CURLOPT_RANDOM_FILE 과 유사합니다. | |
CURLOPT_ENCODING | HTTP 요청 헤더의 "Accept-Encoding: " 값입니다. 지원되는 인코딩은 "identity" , "deflate" 및 "gzip" 입니다. 빈 문자열 "" 이면 지원되는 모든 인코딩 유형이 요청 헤더에 전송됩니다. | cURL 7.10에 추가되었습니다. |
CURLOPT_FTPPORT | 이 값은 FTP "POST" 명령에 필요한 IP 주소를 얻는 데 사용됩니다. "POST" 명령은 원격 서버에 우리가 지정한 IP 주소에 연결하도록 지시합니다. 이 문자열은 일반 텍스트 IP 주소, 호스트 이름, 네트워크 인터페이스 이름(UNIX의 경우)이거나 기본 IP 주소를 사용하는 '-'일 수 있습니다. | |
CURLOPT_INTERFACE | 네트워크 전송 인터페이스 이름은 인터페이스 이름, IP 주소 또는 호스트 이름일 수 있습니다. | |
CURLOPT_KRB4LEVEL | KRB4(Kerberos 4) 보안 수준. "clear" , "safe" , "confidential" , "private" 값은 모두 유효합니다(낮은 것부터 높은 것 순). 문자열이 이들 중 어느 것과도 일치하지 않으면 "private"이 사용됩니다. 이 옵션을 NULL 로 설정하면 KRB4 보안 인증이 비활성화됩니다. 현재 KRB4 보안 인증은 FTP 전송에만 사용할 수 있습니다. | |
CURLOPT_POSTFIELDS | 모든 데이터는 HTTP 프로토콜의 "POST" 작업을 사용하여 전송됩니다. 파일을 보내려면 파일 이름 앞에 @ 를 붙이고 전체 경로를 사용하세요. 이 매개변수는 ' para1=val1¶2=val2&... '와 같은 urlencoded 문자열로 전달되거나 필드 이름을 키로, 필드 데이터를 값으로 사용하는 배열을 사용할 수 있습니다. 값이 배열이면 Content-Type 헤더가 multipart/form-data 로 설정됩니다. | |
CURLOPT_PROXY | HTTP 프록시 채널. | |
CURLOPT_PROXYUSERPWD | 프록시에 연결하는 데 사용되는 "[사용자 이름]:[비밀번호]" 형식의 문자열입니다. | |
CURLOPT_RANDOM_FILE | SSL 난수 시드를 생성하는 데 사용되는 파일의 이름입니다. | |
CURLOPT_RANGE | "XY" 형식입니다. 여기서 X와 Y는 데이터 범위(바이트)를 얻기 위한 선택적 옵션입니다. HTTP 전송 스레드는 "XY,NM" 과 같이 쉼표로 구분된 여러 중복 항목도 지원합니다. | |
CURLOPT_REFERER | HTTP 요청 헤더의 "Referer: " 내용입니다. | |
CURLOPT_SSL_CIPHER_LIST | SSL 암호화 알고리즘 목록입니다. 예를 들어 RC4-SHA 와 TLSv1은 모두 사용 가능한 암호화 목록입니다. | |
CURLOPT_SSLCERT | PEM 형식의 인증서가 포함된 파일의 이름입니다. | |
CURLOPT_SSLCERTPASSWD | CURLOPT_SSLCERT 인증서를 사용하려면 비밀번호가 필요합니다. | |
CURLOPT_SSLCERTTYPE | 인증서 유형입니다. 지원되는 형식은 "PEM" (기본값), "DER" 및 "ENG" 입니다. | cURL 7.9.3에 추가되었습니다. |
CURLOPT_SSLENGINE | CURLOPT_SSLKEY 에 지정된 SSL 개인 키에 사용되는 암호화 엔진 변수입니다. | |
CURLOPT_SSLENGINE_DEFAULT | 비대칭 암호화 작업에 사용되는 변수입니다. | |
CURLOPT_SSLKEY | SSL 개인 키가 포함된 파일의 이름입니다. | |
CURLOPT_SSLKEYPASSWD | CURLOPT_SSLKEY 에 지정된 SSL 개인 키의 비밀번호입니다.
| |
CURLOPT_SSLKEYTYPE | CURLOPT_SSLKEY 에 지정된 개인 키의 암호화 유형입니다. 지원되는 키 유형은 "PEM" (기본값), "DER" 및 "ENG" 입니다. | |
CURLOPT_URL | 얻어야 하는 URL 주소는 컬_init() 함수에서 설정할 수도 있습니다. | |
CURLOPT_USERAGENT | HTTP 요청에 "User-Agent:" 헤더 문자열을 포함합니다. | |
CURLOPT_USERPWD | 연결에 필요한 사용자 이름과 비밀번호를 "[username]:[password]" 형식으로 전달합니다. |
다음 옵션의 선택적 매개변수의 경우 값은 배열로 설정되어야 합니다.
옵션 | 선택적 값 | 주목 |
---|---|---|
CURLOPT_HTTP200ALIASES | 200 응답 코드 배열인 경우 배열의 응답은 올바른 응답으로 간주되고, 그렇지 않으면 오류로 간주됩니다. | cURL 7.10.3에 추가되었습니다. |
CURLOPT_HTTPHEADER | HTTP 헤더 필드를 설정하는 데 사용되는 배열입니다. 다음 형식의 배열을 사용하여 설정합니다: array('Content-type: text/plain', 'Content-length: 100') | |
CURLOPT_POSTQUOTE | FTP 요청이 실행된 후 서버에서 실행되는 FTP 명령 집합입니다. | |
CURLOPT_QUOTE | FTP 요청 전에 서버에서 실행될 FTP 명령 세트입니다. |
다음 옵션의 선택적 매개변수의 경우 값은 스트림 리소스로 설정되어야 합니다(예: fopen() 사용).
옵션 | 선택적 값 |
---|---|
CURLOPT_FILE | 출력 파일의 위치를 설정합니다. 값은 리소스 유형입니다. 기본값은 STDOUT (브라우저)입니다. |
CURLOPT_INFILE | 파일을 업로드할 때 읽어야 하는 파일 주소입니다. 값은 리소스 유형입니다. |
CURLOPT_STDERR | 오류 출력 주소를 설정합니다. 값은 리소스 유형으로, 기본 STDERR 을 대체합니다. |
CURLOPT_WRITEHEADER | 헤더 부분의 내용이 기록되는 파일 주소를 설정하며 값은 리소스 종류입니다. |
다음 옵션의 선택적 매개변수의 경우 값은 콜백 함수 이름으로 설정되어야 합니다.
옵션 | 선택적 값 |
---|---|
CURLOPT_HEADERFUNCTION | 콜백 함수를 설정합니다. 이 함수에는 두 개의 매개변수가 있습니다. 첫 번째는 cURL 리소스 핸들이고 두 번째는 출력 헤더 데이터입니다. 헤더 데이터의 출력은 기록된 데이터의 크기를 반환하는 이 함수에 의존해야 합니다. |
CURLOPT_PASSWDFUNCTION | 세 개의 매개변수를 사용하여 콜백 함수를 설정합니다. 첫 번째 매개변수는 cURL 리소스 핸들이고, 두 번째 매개변수는 비밀번호 프롬프트이며, 세 번째 매개변수는 허용되는 최대 비밀번호 길이입니다. 비밀번호 값을 반환합니다. |
CURLOPT_PROGRESSFUNCTION | 세 개의 매개변수를 사용하여 콜백 함수를 설정합니다. 첫 번째는 cURL 리소스 핸들이고, 두 번째는 파일 설명자 리소스이고, 세 번째는 길이입니다. 포함된 데이터를 반환합니다. |
CURLOPT_READFUNCTION | 콜백 함수 이름. 이 함수는 세 개의 매개변수를 받아야 합니다. 첫 번째는 cURL 리소스이고 두 번째는 CURLOPT_INFILE 옵션을 통해 cURL에 전달된 스트림 리소스입니다. 세 번째 매개변수는 읽을 수 있는 최대 데이터 양입니다. 콜백 함수는 요청된 데이터 양(세 번째 매개변수)보다 길이가 작거나 같은 문자열을 반환해야 합니다. 일반적으로 들어오는 스트림 리소스에서 읽습니다. 빈 문자열을 EOF (파일 끝) 신호로 반환합니다. |
CURLOPT_WRITEFUNCTION | 콜백 함수 이름. 이 함수는 두 개의 매개변수를 허용해야 합니다. 첫 번째는 cURL 리소스이고 두 번째는 기록할 데이터 문자열입니다. 데이터는 함수 내에 저장되어야 합니다. 함수는 데이터를 쓰기 위해 전달된 정확한 바이트 수를 반환해야 합니다. 그렇지 않으면 오류로 인해 전송이 중단됩니다. |
성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
버전 | 설명하다 |
---|---|
5.2.10 | CURLOPT_PROTOCOLS 및 CURLOPT_REDIR_PROTOCOLS 도입했습니다. |
5.1.0 | CURLOPT_AUTOREFERER , CURLOPT_BINARYTRANSFER , CURLOPT_FTPSSLAUTH , CURLOPT_PROXYAUTH 및 CURLOPT_TIMECONDITION 을 도입했습니다. |
5.0.0 | CURLOPT_FTP_USE_EPRT , CURLOPT_NOSIGNAL , CURLOPT_UNRESTRICTED_AUTH , CURLOPT_BUFFERSIZE , CURLOPT_HTTPAUTH , CURLOPT_PROXYPORT , CURLOPT_PROXYTYPE , CURLOPT_SSLCERTTYPE 및 CURLOPT_HTTP200ALIASES 가 도입되었습니다. . |
새 cURL 세션을 초기화하고 웹페이지를 가져옵니다.
<?php// 새 cURL 리소스 만들기 $ch = cur_init();// URL 및 해당 옵션 설정 cur_setopt($ch, CURLOPT_URL, "http://www.example.com/") cur_setopt($ch) , CURLOPT_HEADER, 거짓);// URL을 가져와 브라우저에 전달합니다. 컬_exec($ch);//cURL 리소스를 닫고 시스템 리소스를 해제합니다. 컬_close($ch);?>
파일 업로드 예:
<?php/* http://localhost/upload.php:print_r($_POST);print_r($_FILES);*/$ch = cur_init();$data = array('name' => 'Foo', '파일' => '@/home/user/test.png');curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_exec($ch);?>
위 예제의 출력 결과는 다음과 같습니다.
Array( [이름] => Foo)Array( [파일] => Array ( [이름] => test.png [유형] => image/png [tmp_name] => /tmp/phpcpjNeQ [오류] => 0 [ 크기] => 279 ))
CURLOPT_POSTFIELDS에 배열을 전달하면 cURL은 데이터를 multipart/form-data로 인코딩하는 반면, URL 인코딩 문자열을 전달하면 데이터는 application/x-www-form-urlencoded로 인코딩됩니다.