2014-10-26 54 views
1

我在bash中有一些脚本。 我想发送一个请求到服务器与一些头(cloudflare块:)。Bash Linux Curl从变量发送头文件

我写了这个:

headers="\ 
-H 'Host: somesite.com' \ 
-H 'Accept-Language: pl,en-US;q=0.7,en;q=0.3' \ 
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' \ 
-H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0' \ 
-H 'Accept-Encoding: gzip, deflate' \ 
-H 'DNT: 1' \ 
-H 'Connection: keep-alive'"; 

curl $headers somesite.com 

但在输出我有这个..

curl: (6) Couldn't resolve host 'Accept-Language' 
curl: (6) Couldn't resolve host 'pl,en-US;q=0.7,en;q=0.3' 
curl: (6) Couldn't resolve host 'Accept' 
curl: (6) Couldn't resolve host 'text' 
curl: (6) Couldn't resolve host 'User-Agent' 
curl: (6) Couldn't resolve host 'Mozilla' 
curl: (6) Couldn't resolve host '(Windows' 
curl: (6) Couldn't resolve host 'NT' 
curl: (6) Couldn't resolve host '6.1;' 

我怎样才能把标题从变量插入命令?

+2

尝试引用变量curl $ header“somesite.com” – 2014-10-26 19:57:31

+0

要添加到@TomFenech,最佳实践是在变量包含空格时引用它。 – Circadian 2014-10-26 20:12:53

回答