이 글에서는 컬을 사용하면서 겪은 문제에 대한 해결책을 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다. 먼저, 캡슐화된 컬 함수를 살펴보자
function request_post($url = '', $param = '') { if (empty($url) || empty($param)) { return false; } $postUrl = $url; $curlPost = $param; $curl = curl_init();//初始化curl curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页 curl_setopt($curl, CURLOPT_HEADER, 0);//设置header curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上 curl_setopt($curl, CURLOPT_POST, 1);//post提交方式 curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);//提交的参数 $data = curl_exec($curl);//运行curl curl_close($curl); return $data; }
호출하면 반환 결과는 bool(false)입니다.
앞에 있는 컬_에러($curl)를 통해 에러를 받습니다. 문자열이기도 한 컬_exec 함수(0) "" 빈 문자열입니다.
드디어 내가 호출한 API의 인터페이스 주소가 SSL 프로토콜인 것을 확인하고 다음 두 가지만 추가했습니다.
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl에서 요청한 주소인 경우 공백이 포함되어 있으면 false가 반환되는 경우에도 이 부분에 특별한 주의를 기울여야 합니다.
이전에 return false print cur_error($curl)이 발생하여 다음 오류가 발생했습니다.
string(39) "Problem (2) in the Chunked-Encoded data" bool(false)
이 오류에 대한 해결책은 컬에서 사용하는 HTTP 프로토콜 버전을 설정하는 것입니다. . 다음 문장을 추가하세요.
위 내용은 PHP에서 false를 반환하는 컬링 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!