php – 查看包含POST数据的cURL请求标头
发布时间:2020-12-13 13:22:32 所属栏目:PHP教程 来源:网络整理
导读:如何在php中使用libcurl查看完整的请求标头,包括发布数据? 我正在尝试模拟页面的帖子,当从浏览器完成并在Live HTTP Headers中查看时,它看起来像这样: https://###.comPOST /###/### HTTP/1.1Host: ###.###.com...snipped normal looking headers...Content
如何在php中使用libcurl查看完整的请求标头,包括发布数据?
我正在尝试模拟页面的帖子,当从浏览器完成并在Live HTTP Headers中查看时,它看起来像这样: https://###.com POST /###/### HTTP/1.1 Host: ###.###.com ...snipped normal looking headers... Content-Type: multipart/form-data; boundary=---------------------------28001808731060 Content-Length: 697 -----------------------------28001808731060 Content-Disposition: form-data; name="file_data"; filename="stats.csv" Content-Type: text/csv id,stats_id,scope_id,stat_begin,stat_end,value 61281,1,4,2011-01-01 00:00:00,2011-12-31 23:59:59,0 -----------------------------28001808731060 Content-Disposition: form-data; name="-save" Submit -----------------------------28001808731060-- 所以我们很好地看到我正在上传的文件,它的内容,一切都在那里.但是当我尝试从php(使用CURLOPT_VERBOSE或CURLINFO_HEADER_OUT)发出相同的帖子时,我尝试从cURL获取数据的所有尝试都显示缺少post数据的请求标头,如下所示: POST /###/### HTTP/1.1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1 Host: ###.###.com ...snipped normal-looking headers... Content-Length: 697 Content-Type: multipart/form-data; boundary=----------------------------e90de36c15f5 基于Content-Length,看起来事情进展顺利,但它确实有助于我的调试工作能够看到完整的请求.我也觉得很困难,我应该能够看到整件事;我知道我必须遗漏一些东西. —编辑— 我正在寻找的是相当于this: curl --trace-ascii debugdump.txt http://www.example.com/ 这似乎可以在libcurl中使用CURLOPT_DEBUGFUNCTION选项,但是没有在php中实现.嘘.
您正在发送multipart / formdata. cURL基本上完全显示我的HTTP头. “问题”是multipart / formdata由多个部分组成.这超出了“第一级HTTP标头”和“主要HTTP主体”主体的一部分.
我不知道您的环境,但您也可以使用TCP流量监控进行调试.为此,您可以使用Wireshark或tcpdump – Wireshark也可以显示由tcpdump创建的转储文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |