• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    详解php中curl返回false的解决办法

    首先来看一个封装的curl函数

    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函数前面通过curl_error($curl)获取错误也是 string(0) "" 空字符串。

    最后发现自己调用的api的接口地址是ssl协议的,然后加上下面两个就可以了

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

    如果curl请求的地址中含有空格也会返回false的,这块也要格外注意。

    之前还遇到过一个返回false打印curl_error($curl)得到的是如下错误

    string(39) "Problem (2) in the Chunked-Encoded data" bool(false)

    这个错误的解决办法设置curl使用的HTTP协议版本,就是加上下面这句

    //CURL_HTTP_VERSION_1_0 (强制使用 HTTP/1.0)
    //CURL_HTTP_VERSION_1_1 (强制使用 HTTP/1.1)。
    curl_setopt($curlp, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

    以上所述是小编给大家介绍的php中curl返回false的解决办法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • PHP CURL中传递cookie的方法步骤
    • PHP CURL使用详解
    • PHP设置images目录不充许http访问的方法
    • PHP获取访问页面HTTP状态码的实现代码
    • php使用curl访问https示例分享
    • PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
    • php的curl携带header请求头信息实现http访问的方法
    上一篇:浅谈PHP SHA1withRSA加密生成签名及验签
    下一篇:PHP中单例模式的使用场景与使用方法讲解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    详解php中curl返回false的解决办法 详解,php,中,curl,返回,false,