이 글에서는 주로 PHP에서 컬_setopt 함수의 사용법을 소개하고, 컬_setopt 함수의 기능, 정의, 목적 및 관련 사용법을 예제 형식으로 분석합니다. 그것이 모두에게 도움이 되기를 바랍니다.
curl_setopt 함수는 PHP에서 중요한 기능입니다. 이 함수는 사용자 로그인, 등록 및 기타 사용자 작동 동작 시뮬레이션과 같은 일부 사용자 동작을 모방할 수 있습니다.
bool curl_setopt (int ch, string option, mixed value)
curl_setopt() 함수는 CURL 세션에 대한 옵션을 설정합니다. 옵션파라미터는 원하시는 설정이고 값은 이 옵션에서 주는 값입니다
Fake login
메인사이트 wap로그인과 discuz forum wap로그인 양쪽의 사용자 데이터가 같은 테이블에서 호출됩니다
//论坛api登录接口地址: $uri = "http//yoursiteweb.com/" //参数数组 $data = array( 'username' => 'username', 'password' => 'password', ); //操作执行 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $uri); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER,1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch);
두 가지 오늘의 세션 ID 생성 메커니즘을 통합하고 포럼 wap 사용자 확인 방법을 변환
사용자 로그인 인스턴스를 모방
function vcurl($url,$post='',$cookie='',$cookiejar='',$referer=''){ $tmpInfo = ''; $cookiepath = getcwd().'./'.$cookiejar; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); if($referer) { curl_setopt($curl, CURLOPT_REFERER, $referer); } else { curl_setopt($curl, CURLOPT_AUTOREFERER, 1); } if($post) { curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $post); } if($cookie) { curl_setopt($curl, CURLOPT_COOKIE, $cookie); } if($cookiejar) { curl_setopt($curl, CURLOPT_COOKIEJAR, $cookiepath); curl_setopt($curl, CURLOPT_COOKIEFILE, $cookiepath); } //curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_TIMEOUT, 100); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $tmpInfo = curl_exec($curl); if (curl_errno($curl)) { echo ' 错误:'.curl_error($curl); } curl_close($curl); return $tmpInfo; } ?>
매개변수 참조는 다음과 같습니다.
다음 옵션의 값은 긴 정수( 옵션 매개변수에 지정됨):
CURLOPT_INFILESIZE : 원격 사이트에 파일을 업로드할 때 이 옵션은 업로드 중인 파일의 크기를 PHP에 알려줍니다.
CURLOPT_VERBOSE: CURL이 예상치 못한 모든 이벤트를 보고하도록 하려면 이 옵션을 0이 아닌 값으로 설정하세요.
CURLOPT_HEADER: 출력에 헤더를 포함하려면 이 옵션을 0이 아닌 값으로 설정하세요.
CURLOPT_NOPROGRESS: PHP가 CURL 전송에 대한 진행률 표시줄을 표시하지 않도록 하려면 이 옵션을 0이 아닌 값으로 설정하세요.
참고: PHP는 자동으로 이 옵션을 0이 아닌 값으로 설정하므로 디버깅 목적으로만 이 옵션을 변경해야 합니다.
CURLOPT_NOBODY: 출력에 본문 부분을 포함하지 않으려면 이 옵션을 0이 아닌 값으로 설정하세요.
CURLOPT_FAILONERROR: 오류가 발생할 때(HTTP 코드가 300보다 크거나 같은 반환) PHP가 표시되지 않도록 하려면 이 옵션을 0이 아닌 값으로 설정하세요. 기본 동작은 일반 페이지를 반환하고 코드를 무시하는 것입니다.
CURLOPT_UPLOAD: PHP가 업로드를 준비하도록 하려면 이 옵션을 0이 아닌 값으로 설정하세요.
CURLOPT_POST: PHP가 일반 HTTP POST를 수행하도록 하려면 이 옵션을 0이 아닌 값으로 설정하세요. 이 POST는 HTML 양식에서 주로 사용되는 일반 application/x-www-from-urlencoded 유형입니다.
CURLOPT_FTPLISTONLY: 이 옵션을 0이 아닌 값으로 설정하면 PHP는 FTP의 디렉터리 이름을 나열합니다.
CURLOPT_FTPAPPEND: 이 옵션을 0이 아닌 값으로 설정하면 PHP는 원격 파일을 덮어쓰는 대신 적용합니다.
CURLOPT_NETRC: 이 옵션을 0이 아닌 값으로 설정하면 PHP는 ~./netrc 파일에서 연결하려는 원격 사이트의 사용자 이름과 비밀번호를 찾습니다.
CURLOPT_FOLLOWLOCATION: 이 옵션을 0이 아닌 값으로 설정합니다. 값('Location:'과 같은 헤더), 서버는 이를 HTTP 헤더의 일부로 보냅니다(이것은 재귀적이므로 PHP는 'Location:'과 같은 헤더를 보냅니다).
CURLOPT_PUT: HTTP를 사용하여 파일을 업로드하려면 이 옵션을 0이 아닌 값으로 설정하세요. 이 파일을 업로드하려면 CURLOPT_INFILE
CURLOPT_INFILESIZE 옵션을 설정해야 합니다.
CURLOPT_MUTE: 이 옵션을 0이 아닌 값으로 설정하면 PHP는 CURL 함수에 대해 완전히 침묵합니다.
CURLOPT_TIMEOUT: 긴 정수를 최대 시간(초)으로 설정합니다.
CURLOPT_LOW_SPEED_LIMIT: 전송되는 바이트 수를 제어하려면 긴 정수를 설정하세요.
CURLOPT_LOW_SPEED_TIME: 긴 정수를 설정하여 CURLOPT_LOW_SPEED_LIMIT에 지정된 바이트 수를 전송하는 데 몇 초가 소요되는지 제어합니다.
CURLOPT_RESUME_FROM: 바이트 오프셋 주소(전송하려는 시작 형식)가 포함된 긴 정수 매개변수를 전달합니다.
CURLOPT_SSLVERSION: SSL 버전이 포함된 긴 매개변수를 전달합니다. 기본적으로 PHP는 자체적으로 어려운 작업을 수행하므로 보안을 강화하려면 수동으로 설정해야 합니다.
CURLOPT_TIMECONDITION: 긴 매개변수를 전달하여 CURLOPT_TIMEVALUE 매개변수 처리 방법을 지정합니다. 이 매개변수를
TIMECOND_IFMODSINCE 또는 TIMECOND_ISUNMODSINCE로 설정할 수 있습니다. 이는 HTTP에만 해당됩니다.
CURLOPT_TIMEVALUE: 1970-1-1부터 지금까지의 시간(초)을 전달합니다. 이 시간은 CURLOPT_TIMEVALUE 옵션 또는 기본 TIMECOND_IFMODSINCE에 의해 지정된 값으로 사용됩니다.
다음 옵션의 값은 문자열로 처리됩니다.
CURLOPT_URL: PHP를 사용하여 검색하려는 URL 주소입니다. 컬_init() 함수를 사용하여 초기화하는 동안 이 옵션을 설정할 수도 있습니다.
CURLOPT_USERPWD: [사용자 이름]:[비밀번호] 형식으로 문자열을 전달하고 PHP를 사용하여 연결합니다.
CURLOPT_PROXYUSERPWD: [사용자 이름]:[비밀번호] 형식의 문자열을 전달하여 HTTP 프록시에 연결합니다.
CURLOPT_RANGE: 지정하려는 범위를 전달합니다. X 또는 Y가 제외된 'X-Y' 형식이어야 합니다. HTTP 전송은 쉼표(X-Y,N-M)로 구분된 여러 간격도 지원합니다.
CURLOPT_POSTFIELDS: 모든 데이터가 포함된 문자열을 HTTP "POST" 작업으로 전달합니다.
CURLOPT_REFERER: HTTP 요청에 '리퍼러' 헤더가 포함된 문자열입니다.
CURLOPT_USERAGENT: HTTP 요청에 'user-agent' 헤더가 포함된 문자열입니다.
CURLOPT_FTPPORT: ftp 'POST' 명령에 사용되는 IP 주소가 포함된 IP 주소를 전달합니다. 이 POST 명령은 원격 서버에 우리가 지정한 IP 주소에 연결하도록 지시합니다. 이 문자열은 IP 주소, 호스트 이름, 네트워크 인터페이스 이름(UNIX의 경우) 또는 '-'(시스템 기본 IP 주소 사용)일 수 있습니다.
CURLOPT_COOKIE: HTTP 쿠키가 포함된 헤더 연결을 전달합니다.
CURLOPT_SSLCERT: 인증서가 포함된 문자열을 PEM 형식으로 전달합니다.
CURLOPT_SSLCERTPASSWD: CURLOPT_SSLCERT 인증서를 사용하는 데 필요한 비밀번호가 포함된 비밀번호를 전달합니다.
CURLOPT_COOKIEFILE: 쿠키 데이터가 포함된 파일 이름이 포함된 문자열을 전달합니다. 이 쿠키 파일은 Netscape 형식일 수도 있고 파일에 저장된 HTTP 스타일 헤더 스택일 수도 있습니다.
CURLOPT_CUSTOMREQUEST: HTTP 요청 시 GET 또는 HEAD에서 사용할 문자를 전달합니다. HTTP 요청을 수행할 때 GET 또는 HEAD 대신 사용할 문자열을 전달합니다. 이는 더 모호한 다른 HTTP 요청을 수행하는 데 유용합니다.
참고: 확인하기 전에 서버가 명령을 지원하는 경우에는 이 작업을 수행하지 마세요. .
다음 옵션에는 파일 설명(fopen() 함수를 사용하여 얻음)이 필요합니다.
CURLOPT_FILE: 이 파일은 배치하고 전송하는 출력 파일입니다.
CURLOPT_INFILE: 이 파일은 입력 파일을 배치하고 전송하는 출력 파일이 됩니다.
CURLOPT_WRITEHEADER: 이 파일에는 출력의 헤더 부분이 포함되어 있습니다.
CURLOPT_STDERR: 이 파일에는 stderr 대신 오류가 기록되었습니다.
관련 권장사항:
위 내용은 PHP 컬_setopt 기능을 사용하는 방법은 무엇입니까? 컬_setopt 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!