>  기사  >  백엔드 개발  >  PHP에서 컬을 사용하는 방법은 무엇입니까? (사용방법 소개)

PHP에서 컬을 사용하는 방법은 무엇입니까? (사용방법 소개)

青灯夜游
青灯夜游앞으로
2020-04-17 09:16:457009검색

PHP에서 컬을 어떻게 사용하나요? 다음 기사에서는 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 => &#39;http://www.example.com/&#39;,
                 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 버전 정보 가져오기

  • 4. 예시
  • 1. 컬을 사용하여 데이터를 가져옵니다. 데이터를 얻기 위해 게시하세요

    <?php
    $url = &#39;http://www.example.com&#39;;
    //初始化一个 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;
    ?>
  • 3. 프록시를 사용하여 페이지를 크롤링하세요

프록시를 사용하여 크롤링하는 이유는 무엇인가요? 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(
    &#39;name&#39;=>&#39;test_name&#39;,
    &#39;age&#39;   => 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, &#39;user:password&#39;);如果要密码的话,加上这个  
$result=curl_exec($ch); 
curl_close($ch);
?>

end

이 기사는 다음에서 복제되었습니다: https://blog.csdn.net/longgeaisisi/article/details/89330576

권장 학습:

PHP 비디오 튜토리얼

위 내용은 PHP에서 컬을 사용하는 방법은 무엇입니까? (사용방법 소개)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제