如何设置curl的请求标头?
只需使用-H
参数几次:
curl -H "Accept-Charset: utf-8" -H "Content-Type: application/x-www-form-urlencoded" http://www.some-domain.com
如果头部包含''',该怎么办? – Freewind 2011-04-08 08:45:00
它应该。头部必须是url编码的。 – 2012-11-15 18:26:38
@Freewind用单引号而不是双引号包装它,或者转义它。 。 – Fuser97381 2015-06-26 19:15:25
有时改变头是不够的,一些网站检查引荐以及:
curl -v \
-H 'Host: restapi.some-site.com' \
-H 'Connection: keep-alive' \
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \
-H 'Accept-Language: en-GB,en-US;q=0.8,en;q=0.6' \
-e localhost \
-A 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.65 Safari/537.36' \
'http://restapi.some-site.com/getsomething?argument=value&argument2=value'
在这个例子中,引用者(-e或 - curl中的--referer)是'localhost'。
要在curl请求中传递多个标题,只需将其他-H
或--header
添加到curl命令。
例
//Simplified
$ curl -v -H 'header1:val' -H 'header2:val' URL
//Explanatory
$ curl -v -H 'Connection: keep-alive' -H 'Content-Type: application/json' http://www.example.com
去此外
对于标准的HTTP标头字段,诸如用户代理,曲奇,主机,实际上是另一种方式来设置他们。 curl命令提供了用于设置这些头字段的指定选项:
- -A(或--user-agent):设置“User-Agent”字段。
- -b(或--cookie):设置“Cookie”字段。
- -e(或--referer):设置“引用者”字段。
- -H(或--header):设置 “页眉” 字段
例如,以下两个命令是等价的。他们都改变了HTTP头中的“User-Agent”字符串。
$ curl -v -H "Content-Type: application/json" -H "User-Agent: UserAgentString" http://www.example.com
$ curl -v -H "Content-Type: application/json" -A "UserAgentString" http://www.example.com
你有一个例子,你现在正在使用,你可以告诉我们吗? – 2010-11-18 07:23:00