我使用代码:
public function GetPage($url, $post=false, $data=null){ //Function Auth
$this->refferer = $url;
curl_setopt($this->curl_obj, CURLOPT_URL,$url);
if($post == true){
curl_setopt($this->curl_obj, CURLOPT_POST, 1);
curl_setopt($this->curl_obj, CURLOPT_POSTFIELDS, $data);
} else {
curl_setopt($this->curl_obj, CURLOPT_POST, 0);
}
return curl_exec($this->curl_obj);
}
此函数返回false,为什么?我怎样才能找到原因?
您可以使用curl_error()
print_r(curl_error($this->curl_obj)) ;
//print_r(curl_getinfo($this->curl_obj)) ; // for detailed information
根据您在下面的评论。在执行之前将这两个选项添加到CURL警告:这将删除SSL警告,即使某些中间人扰乱了您的路由
curl_setopt ($this->curl_obj, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($this->curl_obj, CURLOPT_SSL_VERIFYPEER, 0);
您可以通过调用获得更多详细信息
echo curl_error($this->curl_obj);
如果你想返回内容,你需要设置CURLOPT_RETURNTRANSFER
:
curl_setopt($this->curl_obj, CURLOPT_RETURNTRANSFER, true);
如果不设置此项,那么cURL将回显内容,而不是作为函数的返回值返回。