当我向服务器发送请求时,我想看到curl所做的请求头。我要怎么检查呢?
当前回答
我尝试了这里的答案,发现最有用和最简单的一个还没有被列为答案,但它是:
curl -v https://example.com/path
这将打印出REQUEST报头、RESPONSE报头以及其他有用的信息,如SSL证书以及是否重用了现有的TCP连接。当然,-v标志可以与其他标志结合使用,例如跟随重定向和HTTP认证提示:
curl -vL --user my_username https://example.com/path
希望这能有所帮助。
其他回答
你可以使用-iv来查看
$> curl -ivH "apikey:ad9ff3d36888957" --form "file=@/home/mar/workspace/images/8.jpg" --form "language=eng" --form "isOverlayRequired=true" https://api.ocr.space/Parse/Image
我认为curl -verbose/-v是最简单的。它将输出请求头(以'>'为前缀的行),而无需写入文件:
$ curl -v -I -H "Testing: Test header so you see this works" http://stackoverflow.com/
* About to connect() to stackoverflow.com port 80 (#0)
* Trying 69.59.196.211... connected
* Connected to stackoverflow.com (69.59.196.211) port 80 (#0)
> HEAD / HTTP/1.1
> User-Agent: curl/7.16.3 (i686-pc-cygwin) libcurl/7.16.3 OpenSSL/0.9.8h zlib/1.2.3 libssh2/0.15-CVS
> Host: stackoverflow.com
> Accept: */*
> Testing: Test header so you see this works
>
< HTTP/1.0 200 OK
...
唯一的方法,我设法看到我的外向头(卷曲与php)是使用以下选项:
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
获取调试信息:
$data = curl_exec($ch);
var_dump($data);
var_dump(curl_getinfo($ch));
我尝试了这里的答案,发现最有用和最简单的一个还没有被列为答案,但它是:
curl -v https://example.com/path
这将打印出REQUEST报头、RESPONSE报头以及其他有用的信息,如SSL证书以及是否重用了现有的TCP连接。当然,-v标志可以与其他标志结合使用,例如跟随重定向和HTTP认证提示:
curl -vL --user my_username https://example.com/path
希望这能有所帮助。
向https://http-tools.appspot.com/reflect-http-request/some-unique-id发送一个示例请求,并通过其对应的查找器url https://http-tools.appspot.com/reflect-http-request-finder/some-unique-id检查该请求包含什么(请求头、请求体、请求参数)。你可以使用任何字符串而不是某个唯一的id,查看https://http-tools.appspot.com了解更多细节。
推荐文章
- 如何在PHP中捕获cURL错误
- 在Bash中将输出赋给变量
- HTTPS和SSL3_GET_SERVER_CERTIFICATE:证书验证失败,CA is OK
- 如何在Node.js内进行远程REST调用?旋度吗?
- 如何为已安装的Ubuntu LAMP堆栈启用cURL ?
- 为什么cURL返回错误“(23)Failed writing body”?
- 如何POST JSON数据与PHP卷曲?
- 使用curl在PHP中获取HTTP代码
- SSL证书错误:无法获得本地颁发者证书
- 从URL执行bash脚本
- PHP中的cURL是什么?
- 对bash脚本函数中定义的变量使用curl POST
- 使用curl POST multipart/form-data的正确方法是什么?
- PHP -调试Curl
- (1) libcurl不支持或禁用https协议