>  기사  >  백엔드 개발  >  PHP에서 false를 반환하는 컬링 솔루션

PHP에서 false를 반환하는 컬링 솔루션

云罗郡主
云罗郡主앞으로
2018-12-22 17:44:375793검색


이 글에서는 컬을 사용하면서 겪은 문제에 대한 해결책을 소개합니다. 그것이 모두에게 도움이 되기를 바랍니다. 먼저, 캡슐화된 컬 함수를 살펴보자

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

관련 기사

더보기