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


Posted in PHP onMarch 18, 2019

首先来看一个封装的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 相关文章推荐
PHP中判断变量为空的几种方法小结
Nov 12 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
Oct 10 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
php上传大文件设置方法
Apr 14 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
PHP Mysqli 常用代码集合
Nov 12 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 PHP
使用PHP访问RabbitMQ消息队列的方法示例
Jun 06 PHP
php实现微信企业转账功能
Oct 02 PHP
PHP大文件切割上传并带进度条功能示例
Jul 01 PHP
php实现JWT验证的实例教程
Nov 26 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 #PHP
PHP自动生成缩略图函数的源码示例
Mar 18 #PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
Mar 18 #PHP
PHP实现对数字分隔加千分号的方法
Mar 18 #PHP
PHP生成指定范围内的N个不重复的随机数
Mar 18 #PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 #PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 #PHP
You might like
php 获取一个月第一天与最后一天的代码
2010/05/16 PHP
Views rows style模板重写代码
2011/05/16 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
PHP处理会话函数大总结
2015/08/05 PHP
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
JS中闭包的经典用法小结(2则示例)
2016/12/28 Javascript
Angular2 自定义validators的实现方法
2017/07/05 Javascript
Nodejs调用Dll模块的方法
2018/09/17 NodeJs
深入理解移动前端开发之viewport
2018/10/19 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
JavaScript实现移动端带transition动画的轮播效果
2020/03/24 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
win7 下搭建sublime的python开发环境的配置方法
2014/06/18 Python
python实现域名系统(DNS)正向查询的方法
2016/04/19 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
python K近邻算法的kd树实现
2018/09/06 Python
pandas ix &iloc &loc的区别
2019/01/10 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
美国战术品牌:5.11 Tactical
2019/05/01 全球购物
自我评价如何写好?
2014/01/05 职场文书
《口技》教学反思
2014/02/21 职场文书
中国梦口号
2014/06/13 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技
Spring Boot 实现 WebSocket
2022/04/30 Java/Android