30

有很多关于如何防止 curl 在请求 PHP 版本时显示标头信息的信息,但对于 CLI 版本似乎没有。

我的要求是

curl -i -X POST -H 'Content-Type: application/json; charset=UTF-8' -H 'X-Accept: application/json' -H '-d '{"somedata":"12ihiuhihihed994f63dbef6b012b"}' https://myurl.com/v3/oauth/request

哪个有效,但返回:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json
Date: Wed, 27 Mar 2013 20:42:11 GMT
P3P: policyref="/w3c/p3p.xml", CP="ALL CURa ADMa DEVa OUR IND UNI COM NAV INT STA PRE"
Server: Apache/2.2.23 (Amazon)
Status: 200 OK
X-Powered-By: PHP/5.3.20
Content-Length: 54
Connection: keep-alive

{"code":"jkhjhhjhaa","state":null}

当我真正想要的是:

{"code":"jkhjhhjhaa","state":null}
4

3 回答 3

43

只需从您的命令中删除-i开关。curl

man curl

说过 :

-i, --include
(HTTP) 在输出中包含 HTTP 标头。HTTP 标头包括服务器名称、文档日期、HTTP 版本等内容...

于 2013-03-27T20:47:50.987 回答
18

为了抑制 CURL CLI 的输出,可以使用 --silent 选项。当 curl 输出也通过管道传输时,它也能完美运行。

-s, --silent        Silent mode (don't output anything)
于 2018-06-26T01:33:47.707 回答
1

如果这不明显,也不要将 -v(详细)开关与 -s(静音)一起使用

于 2020-03-14T19:11:46.613 回答