>백엔드 개발 >PHP 튜토리얼 >컬 시뮬레이션 http 요청 예시 상세 분석

컬 시뮬레이션 http 요청 예시 상세 분석

little bottle
little bottle앞으로
2019-04-23 11:01:314562검색

이 기사의 주요 내용은 컬을 사용하여 HTTP 요청을 시뮬레이션하는 것입니다. 이는 특정 참조 값을 가지고 있으므로 도움이 될 수 있습니다.

소개

cURL의 공식 정의curl is a command line tool for transferring data with URL syntax이며, 이는 URL 구문 규칙을 사용하여 데이터를 전송하는 명령줄 도구입니다.

PHP는 Daniel Stenberg가 만든 libcurl 라이브러리를 지원하며, 이를 통해 다양한 서버에 연결하고 다양한 프로토콜을 사용할 수 있습니다. 현재 libcurl이 지원하는 프로토콜에는 http, https, ftp, gopher, telnet, dict, file 및 ldap이 포함됩니다. libcurl은 또한 HTTPS 인증서, HTTP POST, HTTP PUT, FTP 업로드(PHP의 FTP 확장을 통해서도 완료 가능), HTTP 양식 기반 업로드, 프록시, 쿠키, 사용자 이름 + 비밀번호 인증을 지원합니다.

Concept

PHP에서 cURL 사용

그림:

cURL은 get 요청을 시뮬레이션합니다.

/**
 * get方式发送curl请求
 * @param string $url    请求服务器地址
 * @param array $header  请求头数据
 * @param int $timeout   超时时间
 * @return mixed
 * @author itbsl
 */
function curl_get($url, $header=[], $timeout=30) {

    //初始化curl
    $curl = curl_init();

    //设置curl(请求的服务器地址)
    //参数1: curl资源
    //参数2: 配置项名称
    //参数3: 配置项的值
    curl_setopt($curl, CURLOPT_URL, $url);

    //跳过安全证书验证
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  // 跳过证书检查

    //设置获取的信息以文件流的形式返回,而不是直接输出
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);

    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);

    //发出请求
    $result = curl_exec($curl);

    //关闭curl资源
    curl_close($curl);

    return $result;
}

cURL은 게시물 요청을 시뮬레이션합니다.

/**
 * post方式发送curl请求
 * @param string $url   请求的服务器地址
 * @param array $data   要发送的数据
 * @param array $header 请求头数据
 * @param int $timeout  超时时间
 * @return mixed
 * @author itbsl<itbsl@foxmail.com>
 */
function curl_post($url, $data=[], $header=[], $timeout=30) {

    //初始化curl
    $curl = curl_init();

    //设置curl(请求的服务器地址)
    //参数1: curl资源
    //参数2: 配置项名称
    //参数3: 配置项的值
    curl_setopt($curl, CURLOPT_URL, $url);

    //跳过安全证书验证
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);  // 从证书中检查SSL加密算法是否存在
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);  // 跳过证书检查

    //设置获取的信息以文件流的形式返回,而不是直接输出
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);

    //设置请求方式为post请求
    curl_setopt($curl, CURLOPT_POST, true);

    //设置post方式提交时携带的数据
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

    curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);

    //发出请求
    $result = curl_exec($curl);

    //关闭curl资源
    curl_close($curl);

    return $result;
}

관련 튜토리얼: PHP 비디오 튜토리얼

위 내용은 컬 시뮬레이션 http 요청 예시 상세 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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