如何从请求CURL php中获取代码错误


How get code error from request CURL php?

我使用代码:

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将回显内容,而不是作为函数的返回值返回。