如何调试curl

显示curl的错误信息。

主要用一下三个函数进行错误信息调试

var_dump(curl_error($ch));

curl_multi_getcontent($ch ) 是字符串类型!

curl_errno($ch);显示错误号

症状:php curl调用https出错

排查方法:在命令行中使用curl调用试试。

原因:服务器所在机房无法验证SSL证书。

解决办法:跳过SSL证书检查。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

症状:php curl调用curl_exec返回bool(false),命令行curl调用正常。

排查方法:

var_dump(curl_error($ch));

返回:

string(23) "Empty reply from server"

再排查:

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);

返回:

HTTP/1.1 100 Continue

Connection: close

原因:php curl接收到HTTP 100就结束了,应该继续接收HTTP 200

解决方案:

curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Expect:‘));

摘自:http://www.itokit.com/2012/0704/74571.html

时间: 2024-10-26 08:38:04

如何调试curl的相关文章

可以用命令行控制eclipse断点增加删除、远程调试创建与启动的插件

java # 创建断点(支持条件断点) curl -X PUT -H "Content-Type:application/json" --data '{"language":"java","condition":"i == 1","charStart":283,"charEnd":307,"lineNumber":16,"typeName

命令行

学习Bash的基础知识.具体来说,输入 man bash 并至少全文浏览一遍; 它很简单并且不长.其他的shell可能很好用,但Bash功能强大且几乎所有情况下都是可用的 ( 只学习 zsh,fish或其他的shell的话,在你自己的电脑上会显得很方便,但在很多情况下会限制你,比如当你需要在服务器上工作时). 学习并掌握至少一个基于文本的编辑器.通常 Vim (vi) 会是你最好的选择. 学会如何使用man命令去阅读文档.学会使用apropos去查找文档.了解有些命令并不对应可执行文件,而是Ba

PHP+XDEBUG的使用

(一)设置php: 让 cgi 和 cli 使用不同的配置文件: http 请求用 php.ini,命令行脚本 用 php-cli.ini: sudo cp /usr/local/php/etc/php.ini /usr/local/php/etc/php-cli.ini 对http请求 仅用cookie触发debug: 设置xdebug,仅被动触发debug(仅对带cookie:XDEBUG_SESSION=你的idekey 的请求 触发debug): 编辑 php.ini,添加或修改以下项:

BASH 进阶(转载防丢)

基础 学习 Bash 的基础知识.具体来说,输入 man bash 并至少全文浏览一遍; 它很简单并且不长.其他的 shell 可能很好用,但 Bash 功能强大且几乎所有情况下都是可用的 ( 只学习 zsh,fish 或其他的 shell 的话,在你自己的电脑上会显得很方便,但在很多情况下会限制你,比如当你需要在服务器上工作时). 学习并掌握至少一个基于文本的编辑器.通常 Vim (vi) 会是你最好的选择. 学会如何使用 man 命令去阅读文档.学会使用 apropos 去查找文档.了解有些

使用curl来调试你的应用

我们在客户端开发过程中总免不了和后端进行api对接,有时候需要对返回的数据格式进行调试,有时候每次运行客户端来发送请求,这个未免效率太低,这里就来介绍一个好用的工具--curl. curl curl是一个向服务器传输数据的工具,它支持http.https.ftp.ftps.scp.sftp.tftp.telnet等协议,这里只针对http进行讲解一些常用的用法,具体安装请自行搜索. 打开百度 curl http://www.baidu.com 接着你就会看到百度的页面源代码输出. 如果要把这个网

开发利器_Httpie.利用跨平台命令行下curl的替代品httpie调试接口?

简单介绍: 说明: 此模块是一个支持直观语法/支持格式色彩输出/支持JSON/支持上传文件表单/支持HTTPS代理认证/支持任意请求数据/支持自定义头部/支持持久化会话/支持类WGET下载特性等的HTTP的命令行客户端,完全可以代替CURL,常用于测试/调试接口 项目地址: https://github.com/jkbrzt/httpie 快速安装: pip install --upgrade httpie GET 相关: http GET https://api.weibo.com/2/tre

zend studio 13 curl 请求本机地址 无法跟踪调试的问题解决方案。。。(chrome等浏览器调试原理相同)

方案如下: <?php $ch = curl_init (); curl_setopt ($ch, CURLOPT_URL, 'http://YOUR-SITE.com/your-script.php'); curl_setopt ($ch, CURLOPT_COOKIE, 'XDEBUG_SESSION=1'); curl_exec ($ch); ?> 我这里用到的是这个 //调试xdebug专用 curl_setopt ($curl_session, CURLOPT_COOKIE, 'XD

[linux]使用curl进行GET、POST和网页调试

以前在win下开发的时候,习惯用的调试工具是谷歌自带控制台和postman,谷歌控制台比较方便,但不能对请求进行重发,post虽然很好用,但是感觉还是有点'大'.在linux下,其实完全没有那么麻烦,系统自带的curl足够自用.curl是一个向服务器传输数据的工具,它支持http.https.ftp.ftps.scp.sftp.tftp.telnet等协议,这里只针对http进行讲解一些常用的用法,当然还有其他诸如下载的功能参考:https://www.cnblogs.com/wildkid10

调试应用不发愁,免安装的 curl 来帮忙

1 cURL简介 cURL是一个利用URL语法在命令行下工作的文件传输工具,1997年首次发行.它支持文件上传和下载,所以是综合传输工具,但按传统,习惯称cURL为下载工具.cURL还包含了用于程序开发的libcurl. cURL支持的通信协议有FTP.FTPS.HTTP.HTTPS.TFTP.SFTP.Gopher.SCP.Telnet.DICT.FILE.LDAP.LDAPS.IMAP.POP3.SMTP和RTSP. curl还支持SSL认证.HTTP POST.HTTP PUT.FTP上传