PHP의 컬 기능은 특정 단계에서 함께 결합되어야 하는 많은 기능을 제공합니다. 먼저 PHP에서 컬 요청을 설정하는 기본 단계를 이해해 보겠습니다.
$ch = curl_init(); // 创建一个新的CURL资源赋给变量$ch curl_setopt($ch, CURLOPT_URL, $url); // 设置URL $response = curl_exec($ch); // 执行,获取URL并输出到浏览器 curl_close($ch); // 释放资源
콘텐츠를 가져오고 싶지만 출력하지 않으려면 CURLOPT_RETURNTRANSFER 매개변수를 사용하고 해당 값을 0이 아닌 값 또는 true 값으로 설정할 수 있습니다.
코드는 다음과 같습니다:
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt() 함수의 다른 매개변수를 설정하여 다른 결과를 얻을 수 있습니다. 이것은 또한 CURL 확장의 힘입니다. 컬_setopt() 함수의 공통 매개변수 옵션은 공식 문서에서 찾을 수 있으며 여기에 나열되지 않습니다.
다음은 제가 일반적으로 사용하는 컬 가져오기 및 게시 요청 방법입니다.
get 요청:
public function httpGet(string $url = '') { // 记录请求信息的日志 // todo try { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 60); //https 请求 if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); } $response = curl_exec($ch); $errorCode = curl_errno($ch); curl_close($ch); if (!empty($errorCode)) { // 可记录错误码日志 return null; } // 记录返回结果日志 return $response; } catch (\Exception $e) { $errorLog = [ 'msg' => $e->getMessage(), 'trace' => $e->getTraceAsString(), 'data' => [ 'url' => $url, ] ]; // 记录错误日志 return null; } } ```php
POST 요청:
public function httpPost(string $url = '', array $data = []) { // 记录请求信息的日志 // todo try { $jsonData = json_encode($data); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData); curl_setopt($curl, CURLOPT_HEADER, 0); curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json; charset=utf-8', 'Content-Length:' . strlen($jsonData) ]); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //https 请求 if (strlen($url) > 5 && strtolower(substr($url, 0, 5)) == "https") { curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); } $result = curl_exec($curl); $errorCode = curl_errno($curl); curl_close($curl); if (!empty($errorCode)) { // 可记录错误码日志 return null; } // 记录返回结果日志 return json_decode($result, true); } catch (\Exception $e) { $errorData = [ 'msg' => $e->getMessage(), 'trace' => $e->getTraceAsString(), 'data' => [ 'url' => $url, 'postData' => $data ] ]; // 记录错误日志 return null; } }
이 기사는 재인쇄되었으며 원본 주소는
https://tsmliyun.github입니다. io/php/PHP%E7%9A%84CURL%E5%8A%9F%E8%83%BD%E6%89%A9%E5%B1%95%E5%9F%BA%E6%9C%AC%E7% 94% A8%E6%B3%95/
추천: PHP 비디오 튜토리얼
위 내용은 PHP에서 컬 함수 확장의 기본 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!