当我向服务器发送请求时,我想看到curl所做的请求头。我要怎么检查呢?
当前回答
你可以使用-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的——trace-ascii选项将显示请求头,以及响应头和响应体。
例如,命令
curl --trace-ascii curl.trace http://www.google.com/
生成文件旋度。开始的跟踪如下:
== Info: About to connect() to www.google.com port 80 (#0)
== Info: Trying 209.85.229.104... == Info: connected
== Info: Connected to www.google.com (209.85.229.104) port 80 (#0)
=> Send header, 145 bytes (0x91)
0000: GET / HTTP/1.1
0010: User-Agent: curl/7.16.3 (powerpc-apple-darwin9.0) libcurl/7.16.3
0050: OpenSSL/0.9.7l zlib/1.2.3
006c: Host: www.google.com
0082: Accept: */*
008f:
它还得到了一个响应(准确地说,是302响应,但不相关),该响应被记录下来。
如果你只想保存响应头,使用——dump-header选项:
curl -D file url
curl --dump-header file url
如果您需要更多关于可用选项的信息,请少使用curl——help |(它产生几百行输出,但提到了很多选项)。或者找到手册页,那里有更多关于选项含义的解释。
Curl——trace-ascii {filename}或使用单个破折号来代替文件名,将其发送到标准输出:
curl --trace-ascii - {URL}
CURLOPT_DEBUGFUNCTION如果你使用libcurl
这显示了curl发送和接收的所有内容,并附带了一些额外的信息。
我尝试了这里的答案,发现最有用和最简单的一个还没有被列为答案,但它是:
curl -v https://example.com/path
这将打印出REQUEST报头、RESPONSE报头以及其他有用的信息,如SSL证书以及是否重用了现有的TCP连接。当然,-v标志可以与其他标志结合使用,例如跟随重定向和HTTP认证提示:
curl -vL --user my_username https://example.com/path
希望这能有所帮助。
将报头转储到一个文件中,将响应的有效负载转储到另一个文件中
curl -k -v -u user:pass "url" --trace-ascii headers.txt >> response.txt
您可以使用wireshark或tcpdump来查看任何网络流量(http也可以)。
推荐文章
- PHP中的cURL是什么?
- 对bash脚本函数中定义的变量使用curl POST
- 使用curl POST multipart/form-data的正确方法是什么?
- PHP -调试Curl
- (1) libcurl不支持或禁用https协议
- 在尝试访问HTTPS url时,如何使用cURL处理证书?
- 如何使用PHP 7安装ext-curl扩展?
- 如何通过JSON文件传递有效载荷卷曲?
- 编写器安装错误——当它实际启用时需要ext_curl
- 如何使用Python执行cURL命令?
- CURL命令行URL参数
- 我如何为卷曲设置请求头?
- 在PHP中设置Curl的超时
- curl:(35)错误:1408F10B:SSL例程:ssl3_get_record:错误的版本号
- 使用curl命令将文件保存到指定文件夹