티스토리 뷰

웹개발/Php

PHP curl_setopt

yaku 2012. 1. 20. 13:55
url_setopt  설명
bool curl_setopt ( resource $ ch, int $ option ,mixed $ value )
매개변수
* $ch curl_ini()가  반환 cURL 핸들
* $option 설정하고 싶은 CURLOPT_XXX 옵션
* $value option 에 설정 하는 값

옵션 설명
CURLOPT_AUTOREFERER  : TRUE 를 설정하면 Location: 리디렉션을 따라갈 때 자동으로 Referer : 필드를 요청에 추합니다.
CURLOPT_BINARYTRANSFER : TRUE 를 설정하면 CURLOPT_RETURNTRANSFER 가 사용된 경우에 출력을 아무것도 가공하지 않고 반환합니다.
CURLOPT_COOKIESESSION : TRUE를 설정하면 쿠키 "세션"을 새롭게 시작합니다. 이전 세션에서 로드되었던 " 세션 쿠키"는 무시하도록
                        libcurl에 지시합니다. 기본적으로 그것이 세션 쿠키인지 여부에 관계없이 libcurl모든 쿠키를 읽고 저장합니다.
                        세션 쿠키는 유호 기간이 지정되어 있지 한고 "세션" 동안에만 유효 과자입니다.
CURLOPT_CERTINFO : TRUE 를 설정하면 보안 전송시 SSL 인증서 정보를 STDERR 에 출력 합니다. ( CURLOPT_VERBOSE = on 필수 )
CURLOPT_CRLF : TRUE 를 설정하면 전송 중에 Unix 형식의 줄바꿈을 CRLF 로 변환 합니다.
CURLOPT_DNS_USE_GLOBAL_CACHE : TRUE 를 설정하면 글로벌 DNS 캐시를 사용합니다.
                            이 옵션은 스레드로부터 안전하지 않습니다. 또한 기본적으로 활성화되어 있습니다.
CURLOPT_FAILONERROR :  TRUE 를 설정하면 HTTP 400 이상의 코드가 되돌아 때 처리 실패로 판단하고 아무것도하지 않습니다.
                    기본적으로 코드의 값을 무시하고 페이지의 내용을 가져옵니다.
CURLOPT_FILETIME :  TRUE 를 설정하면 문서의 수정 날짜를 가져 오려고 시도합니다.
                    이 값을 취득하려면 curl_getinfo () 에서 CURLINFO_FILETIME 옵션을 사용합니다.
CURLOPT_FOLLOWLOCATION : TRUE 를 설정하면 서버가 HTTP 헤더로 보내는 "Location :" 헤더의 내용을 따릅니다
                    (이것은 재귀적으로 행해집니다. CURLOPT_MAXREDIRS 가 지정되어 있지 않으면 보내는 "Location : " 헤더의 내용을 계속 거치 따름을주의합시다).
CURLOPT_FORBID_REUSE :  TRUE 를 설정하면 프로세스가 종료되었을 때 명시적으로 연결을 끊습니다. 연결을 재사용하지 않습니다.
CURLOPT_FRESH_CONNECT : TRUE 를 설정하면 캐시된 연결을 이용하지 않고 새 연결을 설정합니다.
CURLOPT_FTP_USE_EPRT : TRUE 를 설정하면 FTP 다운로드를 EPRT (및 LPRT)를 이용합니다. FALSE 의 경우는 EPRT · LPRT를 해제하고 PORT를 이용합니다.
CURLOPT_FTP_USE_EPSV : TRUE 를 설정하면 FTP 전송 시에 먼저 EPSV 명령의 사용을 시도합니다.
                            실패한 경우는 PASV를 사용합니다. FALSE 를 설정하면 EPSV을 해제합니다.
CURLOPT_FTPAPPEND : TRUE 를 설정하면 원격 파일을 덮어 쓰지 않고 추가합니다.
CURLOPT_FTPASCII : CURLOPT_TRANSFERTEXT 의 별칭입니다
CURLOPT_FTPLISTONLY : TRUE 를 설정하면 FTP에서 디렉토리 이름만 표시합니다.
CURLOPT_HEADER : TRUE 를 설정하면 헤더의 내용을 출력합니다.
CURLINFO_HEADER_OUT : TRUE 를 설정하면 요청 문자열을 추적합니다.
CURLOPT_HTTPGE : TRUE 를 설정하면 HTTP 요청 형식을 GET으로 되돌립니다. GET은 기본 설정이므로 요청 형식이 변경되는 경우에만 필요합니다.
CURLOPT_HTTPPROXYTUNNEL : TRUE 지정된 HTTP 프록시를 통해 터널.
CURLOPT_MUTE : TRUE 를 설정하면 cURL 함수와 연관된 출력이 완전히 억제합니다.
CURLOPT_NETRC : TRUE 를 설정하면 원격 사이트에 연결할 때 사용 사용자 이름과 암호를 ~ /. netrc 에서 가져옵니다.
CURLOPT_NOBODY : TRUE 를 설정하면 출력에서 본문을 삭제합니다. 요청 메소드는 HEAD합니다. 이것을 FALSE 로 변경도 요청 메소드는 GET에는 변함이 없습니다.
CURLOPT_NOPROGRESS : TRUE 를 설정하면 cURL 전송 진행 상황 표시를 해제합니다.
CURLOPT_NOSIGNAL : RUE 를 설정하면 cURL 함수가 PHP 프로세스로 보내는 신호를 무시합니다.
                    다중 스레드 SAPI에서는 기본값으로 on되어 있으며, 따라서 시간 제한 옵션도 아직 사용되고 있습니다.
CURLOPT_POST : TRUE 를 설정하면 HTTP POST를 수행합니다.
                POST는 application / x - www - form - urlencoded 형식으로 이루어집니다. 이것은 일반적인 HTML 양식과 같은 형식입니다.
CURLOPT_RETURNTRANSFER :  TRUE 를 설정하면 curl_exec () 의 반환 값을 문자열로 반환합니다. 일반적으로 데이터를 직접 출력합니다.
CURLOPT_SSL_VERIFYPEER : FALSE 를 설정하면 cURL는 서버 인증서의 유효성을 검사하지 않습니다.
            다른 인증서를 CURLOPT_CAINFO 옵션 지정하거나 CURLOPT_CAPATH 옵션 증명서 디렉토리를 지정합니다.
CURLOPT_TRANSFERTEXT : TRUE 를 설정하면 FTP 전송을 ASCII 모드로합니다.
                    LDAP의 경우 데이터를 HTML이 아닌 일반 텍스트로 가져옵니다. Windows 시스템에서는 STDOUT 에 바이너리 모드를 설정하지 마십시오.
CURLOPT_UNRESTRICTED_AUTH : TRUE 를 설정하면 ( CURLOPT_FOLLOWLOCATION 를 이용하여) 위치를 더듬어가는 때 사용자 이름과 암호를 보낼 것입니다.
                            이것은 비록 호스트 이름이 바뀌어도 계속됩니다.
CURLOPT_UPLOAD : TRUE 를 설정하면 업로드 준비를합니다.
CURLOPT_VERBOSE : TRUE 를 설정하면 자세한 정보를 출력합니다. 정보 STDERR 하거나 CURLOPT_STDERR 에 지정된 파일에 출력됩니다.
---
value 에는 option 다음 값에 대한 정수 값을 지정해야합니다.
CURLOPT_BUFFERSIZE : 1 번로드에 사용 버퍼의 크기. 그러나 반드시이 버퍼 끝까지 읽히는 것을 보증하지 않습니다.
CURLOPT_CLOSEPOLICY : CURLCLOSEPOLICY_LEAST_RECENTLY_USED 또는 CURLCLOSEPOLICY_OLDEST 입니다. 이외에도 3 개의 CURLCLOSEPOLICY_ 상수가 존재하지만 cURL은 그들을 아직 지원하지 않습니다.
CURLOPT_CONNECTTIMEOUT : 연결 시도를 기다릴 초. 0은 영원히 기다릴 것을 의미합니다.
CURLOPT_CONNECTTIMEOUT_MS : 연결 시도를 기다릴 밀리초 수입니다. 0은 영원히 기다릴 것을 의미합니다. 시스템의 표준 이름 확인을 사용하도록 libcurl을 빌드하는 경우 연결 시간 제한은 초단위의 정밀도입니다 최소 시간은 1 초가됩니다.
CURLOPT_DNS_CACHE_TIMEOUT : DNS 항목을 메모리에 보관 계속 초. 기본적으로 120 (2 분)으로 설정되어 있습니다.
CURLOPT_FTPSSLAUTH : (사용 가능한 경우) FTP 인증 방법. CURLFTPAUTH_SSL (먼저 SSL을 시도) CURLFTPAUTH_TLS (먼저 TLS를 시도) 또는 CURLFTPAUTH_DEFAULT (cURL이 결정) 중 하나입니다.
CURLOPT_HTTP_VERSION : CURL_HTTP_VERSION_NONE (기본값 사용 버전을 결정하는 것은 cURL을 맡기는) CURL_HTTP_VERSION_1_0 (HTTP/1.0 사용) 또는 CURL_HTTP_VERSION_1_1 (HTTP/1.1 사용) 중 하나입니다.
CURLOPT_HTTPAUTH :  사용하는 HTTP 인증 방법.
    다음 중에서 선택합니다. CURLAUTH_BASIC , CURLAUTH_DIGEST , CURLAUTH_GSSNEGOTIATE , CURLAUTH_NTLM , CURLAUTH_ANY 및 CURLAUTH_ANYSAFE .
    2 개 이상의 방법을 결합하려면 비트 연산자 | (or)을 사용합니다. 이러한 경우, cURL은 서버가 지원하는 방법을 문의한 데 가장 적합한 방법을 선택합니다.
    CURLAUTH_ANY 은 CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM 의 별칭입니다.
    CURLAUTH_ANYSAFE 은 CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM 의 별칭입니다.
CURLOPT_INFILESIZE : 파일을 원격 사이트에 업로드시 파일 크기. 이 옵션을 지정해도 libcurl이 더 데이터를 전송하는 것은 멈출 수없는 것에주의합시다. 실제로 무엇이 보낸 것인지는 CURLOPT_READFUNCTION 에 의존합니다.
CURLOPT_LOW_SPEED_LIMIT : 초당 바이트 단위로 전송 속도가 더 느린 기간이 CURLOPT_LOW_SPEED_TIME 초 이상 지속되면 PHP는 전송을 종료합니다.
CURLOPT_LOW_SPEED_TIME : 전송 속도가 CURLOPT_LOW_SPEED_LIMIT 최신 기간이 얼마나 계속하면 전송을 중단시킬 방법을 초 단위로 지정합니다.
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

CURLOPT_SSL_VERIFYHOST : 1은 SSL 피어 인증서 일반 이름이 있는지 여부를 확인합니다. 2 게다가 이름이 호스트 이름과 일치하는지 확인합니다.
                프로덕션 환경에서는이 옵션의 값은 항상 2 (기본값)로 두어야합니다.
CURLOPT_TIMEOUT : cURL 함수의 실행에 걸린 시간의 최대값입니다.
CURLOPT_TIMEOUT_MS : cURL 함수의 실행에 걸린 최대의 밀리초 수입니다. 시스템의 표준 이름 확인을 사용하도록 libcurl을 빌드하는 경우 연결 시간 제한은 초단위의 정밀도입니다 최소 시간은 1 초가됩니다.
CURLOPT_MAX_RECV_SPEED_LARGE : 다운로드 속도 (단위는 "바이트 / 초")의 전송 중에 진행형 평균이 값을 초과하면 전송을 일시 중지하여 평균 속도가이 매개 변수 이하로 떨어질 때까지 기다립니다. 기본값은 무제한입니다.
CURLOPT_MAX_SEND_SPEED_LARGE : 업로드 속도 (단위는 "바이트 / 초")의 전송 중에 진행형 평균이 값을 초과하면 전송을 일시 중지하여 평균 속도가이 매개 변수 이하로 떨어질 때까지 기다립니다. 기본값은 무제한입니다.

CURLOPT_CAINFO : 대상을 검증하기위한 인증서를 포함하는 파일 이름입니다. 이것은 CURLOPT_SSL_VERIFYPEER 를 사용하는 경우에만 의미를 가집니다.  절대 경로로 지정해야합니다
CURLOPT_CAPATH : 여러 개의 인증서 파일을 저장할 디렉토리. 이 옵션은 CURLOPT_SSL_VERIFYPEER 함께 사용합니다.
CURLOPT_COOKIE : HTTP 요청에서 "Cookie :" 헤더의 내용. 쿠키가 여러 개인 경우 세미콜론 및 공백으로 구분된다
            (예 : " fruit = apple; colour = red ") 유의합시다.
CURLOPT_COOKIEJAR : 쿠키의 데이터를 저장할 파일의 이름입니다.
                    쿠키 파일은 Netscape 형식이나 HTTP 헤더를 단순히 파일에 덤프 것이 사용 가능합니다. 이름이 빈 문자열의 경우 쿠키를로드하지 않지만, 쿠키 처리는 유효합니다.
CURLOPT_ENCODING : "Accept - Encoding :" 헤더의 내용. 그러면 응답의 디코딩을 가능하게합니다.
                    지원되는 인코딩은 "identity" , "deflate" 및 "gzip" 입니다.
                    만약 빈 문자열 "" 이 지정된 경우 지원되는 인코딩을 모두 포함 헤더가 전송됩니다.
CURLOPT_FTPPORT : FTP에서 "POST"를 사용하는 IP 주소를 검색할 때 사용되는 값입니다. "POST"원격 서버에 여기가 지정한 IP 주소에 연결하도록 지시합니다. 이 값으로 설정할 수있는 내용은 IP 주소, 호스트 이름, 네트워크 인터페이스 이름으로 (Unix), 또는 단순히 '-'를 지정하여 시스템의 기본 IP 주소를 지정합니다.
CURLOPT_POSTFIELDS : HTTP "POST"로 보내는 모든 데이터. 파일을 전송하려면 파일 이름 앞에 @ 를 붙여 전체 경로를 지정합니다. 파일 유형을 명시적으로 지정하려면 파일 이름 뒤에 ' ; type = mimetype '형식으로 계속합니다. 이 매개 변수는 ' para1 = val1 & para2 = val2 & ... '처럼 url 인코딩된 문자열 형식으로 전달할 수 있으며, 필드 이름을 키 데이터 값을 배열로 전달할 수 있습니다. value 가 배열의 경우 Content - Type 헤더는 multipart / form - data 를 설정합니다. 5.2.0 이후이 옵션에 @ 접두사 파일을 건네주었을 때는 value 가 배열이어야 않습니다.
CURLOPT_REFERER : HTTP 요청에서 사용되는 "Referer :" 헤더의 내용.
CURLOPT_SSLCERT : PEM 형식의 인증서를 포함하는 파일의 이름입니다.
CURLOPT_SSLCERTPASSWD : CURLOPT_SSLCERT 인증서를 사용할 때 필요한 암호입니다
CURLOPT_SSLCERTTYPE : 인증서 형식입니다. 지원되는 형식은 "PEM" (기본값) " DER " 와 "ENG" 입니다.
CURLOPT_URL : V
CURLOPT_USERAGENT : HTTP 요청에서 사용되는 "User - Agent :" 헤더의 내용.




댓글
D-DAY
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함