有很多关于如何在执行PHP版本请求时阻止curl显示头信息的信息,但对于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}
答案 0 :(得分:34)
只需从-i
命令中删除curl
开关。
man curl
说:
-i, - 包括
(HTTP)在输出中包含HTTP标头。 HTTP标头包括服务器名称,文档日期,HTTP版本等等......
答案 1 :(得分:7)
为了禁止来自CURL CLI的输出,可以使用--silent选项。当卷曲输出也通过管道传输时,它完美地工作。
-s, --silent Silent mode (don't output anything)
答案 2 :(得分:1)
如果这不太明显,也不要将-v(详细)开关与-s(静默)一起使用
答案 3 :(得分:0)
我使用 -vvvv 选项遇到同样的问题。如果你不想让它变得冗长,就不要使用它。