PHP에서 컬을 어떻게 사용하나요? 다음 기사에서는 PHP에서 컬의 사용법을 요약합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
1. 컬 소개
바이두 백과사전에서 제공하는 설명은 데이터 전송 인공물입니다. 그렇다면 그 아티팩트는 어디에 있습니까? 정보를 검색한 후, 컬은 브라우저를 시뮬레이션하여 데이터를 전송하기 위해 URL 구문을 사용할 수 있다는 것을 알았습니다. 다양한 네트워크 프로토콜을 지원합니다. 현재 http, https, ftp, gopher, telnet, dict, 파일 및 ldap 프로토콜을 지원합니다. libcurl은 또한 HTTPS 인증, HTTP POST, HTTP PUT, FTP 업로드(PHP의 FTP 확장을 통해서도 수행 가능), HTTP 양식 기반 업로드, 프록시, 쿠키 및 사용자 이름 + 비밀번호 인증을 지원합니다.
PHP에서 가장 일반적으로 사용되는 방법은 컬을 통해 요청 가져오기 및 게시를 시뮬레이션하는 것입니다.
2. 사용법
(1) 컬을 사용하려면 첫 번째 단계는 PHP에서 컬을 활성화하고, PHP 구성 파일 php.ini에서 Extension=php_curl.dll을 찾아 이전의 '; ' 제거하다. 서버를 다시 시작하십시오. phpinfo()를 사용하여 PHP 코드를 인쇄하고 그림의 컬 설명이 성공적으로 열리는 것을 확인합니다.
(2) 간단한 요청을 완료하기 위해 컬을 사용하는 것은 주로 네 가지 주요 단계로 나뉩니다:
초기화 및 새 컬 리소스 생성.
URL 및 해당 옵션 설정
URL을 가져와 브라우저에 전달
컬 리소스를 닫습니다. 자원을 공개하세요.
예:
<?php // 创建一个新cURL资源 $ch = curl_init(); // 设置URL和相应的选项 $options = array(CURLOPT_URL => 'http://www.example.com/', CURLOPT_HEADER => false ); curl_setopt_array($ch, $options); // 抓取URL并把它传递给浏览器 curl_exec($ch); // 关闭cURL资源,并且释放系统资源 curl_close($ch); ?>
3. 컬 함수
curl_close — cURL 세션 닫기
curl_copy_handle — cURL 핸들 및 모든 해당 옵션 복사
curl_errno — 반환 마지막 오류 번호 RCURL_ERROR — 현재 세션의 최근 잘못된 문자열을 보호하기 위해 돌아갑니다.
Curl_ESCAPE — URL 코딩된 문자열 사용
CURL_EXEC — 컬 세션 실행 개체
curl_getinfo — cURL 연결 리소스 핸들에 대한 정보 가져오기
curl_init — cURL 세션 초기화
curl_multi_add_handle — 컬 배치 세션에 별도의 컬 핸들 추가
curl_multi_close — 하나의 그룹 cURL 핸들 닫기
curl_multi_exec — 현재 cURL 핸들의 하위 연결 실행
curl_multi_getcontent — CURLOPT_RETURNTRANSFER가 설정된 경우 가져온 출력의 텍스트 스트림을 반환합니다.
curl_multi_info_read — 현재 구문 분석된 cURL 관련 전송 정보를 가져옵니다.
curl_multi_init — 새 cURL 배치 핸들을 반환합니다.
curl_multi_remove_handle — 컬 배치 핸들 리소스에서 핸들 리소스를 제거합니다.
curl_multi_select — cURL 배치에서 모든 활성 연결을 기다립니다.
curl_multi_setopt — cURL 병렬 처리에 대한 옵션 설정
curl_multi_strerror — 오류 코드를 설명하는 문자열 반환
curl_pause — 연결 일시 중지 및 일시 중지 해제
curl_reset — libcurl 세션 핸들에 대한 모든 옵션 재설정
curl_setopt_array — 대량으로 cURL 전송 세션에 대한 옵션 설정
curl_setop t — cURL 전송 옵션 설정
curl_share_close — cURL 공유 핸들 닫기
curl_share_init — cURL 공유 핸들 초기화
curl_share_setopt — cURL 공유 핸들에 대한 옵션을 설정합니다.
curl_strerror — 설명하는 문자열 반환 주어진 오류 코드
curl_unescape — 주어진 URL 인코딩 문자열을 디코딩합니다.
curl_version — cURL 버전 정보 가져오기
1. 컬을 사용하여 데이터를 가져옵니다. 데이터를 얻기 위해 게시하세요
<?php $url = 'http://www.example.com'; //初始化一个 cURL 对象 $ch = curl_init(); //设置你需要抓取的URL curl_setopt($ch, CURLOPT_URL, $url); // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否获得跳转后的页面 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); $data = curl_exec($ch); curl_close($ch); echo $data; ?>
프록시를 사용하여 크롤링하는 이유는 무엇인가요? Google을 예로 들어보겠습니다. 짧은 시간 내에 Google의 데이터를 매우 자주 캡처하면 캡처할 수 없습니다. Google이 IP 주소를 제한하면 프록시를 변경하고 다시 크롤링할 수 있습니다. <?php
function curl_post($url, $arr_data){
$post_data = http_build_query($url_data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFLELDS, $post_data);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
}
$arr_post = array(
'name'=>'test_name',
'age' => 1
);
curl_post("http://www.explame.com/", $arr_post);
?>
4. 이 사이트의 세션 호출을 계속 유지합니다
동기 사용자 로그인의 경우 세션을 공유해야 합니다. 이 사이트의 세션을 계속 유지하려면 세션 ID를 입력해야 합니다. http 요청
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://google.com"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //是否通过http代理来传输 curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($ch, CURLOPT_PROXY, 125.21.23.6:8080); //url_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password');如果要密码的话,加上这个 $result=curl_exec($ch); curl_close($ch); ?>
end
이 기사는 다음에서 복제되었습니다: https://blog.csdn.net/longgeaisisi/article/details/89330576
권장 학습:
PHP 비디오 튜토리얼위 내용은 PHP에서 컬을 사용하는 방법은 무엇입니까? (사용방법 소개)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!