详解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 相关文章推荐
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
php5中类的学习
Mar 28 PHP
使用php来实现网络服务
Sep 15 PHP
成为好程序员必须避免的5个坏习惯
Jul 04 PHP
在CentOS系统上从零开始搭建WordPress博客的全流程记录
Apr 21 PHP
Yii控制器中filter过滤器用法分析
Jul 15 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
PHP环形链表实现方法示例
Sep 15 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
ThinkPHP3.2框架自带分页功能实现方法示例
May 13 PHP
基于PHP实现发微博动态代码实例
Dec 11 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上传、管理照片示例
2006/10/09 PHP
ADODB类使用
2006/11/25 PHP
php绘图之加载外部图片的方法
2015/01/24 PHP
服务器上配置PHP运行环境教程
2015/02/12 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
基于JS实现翻书效果的页面切换样式
2017/02/16 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
Vue2.0 实现移动端图片上传功能
2018/05/30 Javascript
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
Python库urllib与urllib2主要区别分析
2014/07/13 Python
Cpy和Python的效率对比
2015/03/20 Python
在Python中操作列表之List.append()方法的使用
2015/05/20 Python
Flask框架web开发之零基础入门
2018/12/10 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
Python手动或自动协程操作方法解析
2020/06/22 Python
python爬虫构建代理ip池抓取数据库的示例代码
2020/09/22 Python
python os.rename实例用法详解
2020/12/06 Python
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
启动一个线程是用run()还是start()
2016/12/25 面试题
家长对孩子评语
2014/01/30 职场文书
民生工程实施方案
2014/03/22 职场文书
学校安全工作汇报材料
2014/08/16 职场文书
故宫的导游词
2015/01/31 职场文书
婚庆开业庆典主持词
2015/06/30 职场文书
字节飞书面试promise.all实现示例
2022/06/16 Javascript