PHP菜鸟博客_共同学习分享PHP技术心得【PHP爱好者】
PHP curl报错"Problem (2) in the Chunked-Encoded data"解决方案
2017-2-18 菜鸟站长


PHP curl报错"Problem (2) in the Chunked-Encoded data"解决方案


Windows环境下遇到一个很奇怪的问题,使用PHP curl发送请求报错:



错误信息:Problem (2) in the Chunked-Encoded data



但是使用浏览器直接访问又正常,怀疑是php_curl.dll扩展本身的bug,解决方案如下:



在PHP curl头部添加HTTP版本信息即可解决:



curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);



即可修复该问题。










     //curl模拟post请求向指定url发送json等

    function curlPost($url,$data){

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);

        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");

        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');

        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $tmpInfo = curl_exec($ch);

        $errorno=curl_errno($ch);

       // echo   curl_error($ch);

        return $tmpInfo;

    } 

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容