详解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表单转换textarea换行符的方法
Sep 10 PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 PHP
编写php应用程序实现摘要式身份验证的方法详解
Jun 08 PHP
curl和libcurl的区别简介
Jul 01 PHP
php实现网站文件批量压缩下载功能
Oct 28 PHP
CodeIgniter表单验证方法实例详解
Mar 03 PHP
php数据访问之增删改查操作
May 09 PHP
thinkPHP分组后模板无法加载问题解决方法
Jul 12 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
详解php命令注入攻击
Apr 06 PHP
php面向对象程序设计中self与static的区别分析
May 21 PHP
laravel框架创建授权策略实例分析
Nov 22 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
dedecms模板标签代码官方参考
2007/03/17 PHP
Gregarius中文日期格式问题解决办法
2008/04/22 PHP
PHP 程序授权验证开发思路
2009/07/09 PHP
php学习之 认清变量的作用范围
2010/01/26 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
2012/01/10 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
PHP 判断字符串是中文还是英文, 或者是中英混合
2021/03/09 PHP
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
2014/01/14 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
vue.js中created方法作用
2018/03/30 Javascript
Vue导出页面为PDF格式的实现思路
2018/07/31 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
Python发送email的3种方法
2015/04/28 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
python 采集中文乱码问题的完美解决方法
2016/09/27 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
Python线程同步的实现代码
2018/10/03 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
Python os模块常用方法和属性总结
2020/02/20 Python
python IDLE添加行号显示教程
2020/04/25 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
CSS3实现渐变背景兼容问题
2020/05/06 HTML / CSS
日本高端护肤品牌:Tatcha
2016/08/29 全球购物
消防安全管理制度
2014/02/01 职场文书
三下乡个人总结
2015/03/04 职场文书
工作自我推荐信范文
2015/03/25 职场文书
2016简历自荐信优秀范文
2016/01/29 职场文书
详解Laravel服务容器的优势
2021/05/29 PHP