2015-04-02 187 views
0

我有這個網站,我做一個HTTP POST請求 http://requestmaker.com/HTTP POST請求捲曲

我的問題是如何才能讓與捲曲或其他類似的命令行應用這個要求嗎? Windows或Linux無關緊要。

我的請求的URL是這樣的:

http://www.website.net/servers?server%5Bgame%5D=cstrike1&server%5Bdomain%5D=192.168.1.1&server%5Bport%5D=27000 

請求報頭:

Content-Type: application/json 
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0 
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language: en-US,en;q=0.5 
Accept-Encoding: gzip, deflate 
Refer: http://www.website.net/servers/new 
+0

您是否閱讀過[documentation](http://curl.haxx.se/docs/manpage.html)呢? – 2015-04-02 19:55:46

+0

是的,但不是整個事情,我不是這些事情的親。 – usersubuser 2015-04-02 20:02:40

回答

1

這將是:

curl -H "Content-Type: application/json" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" -H "Accept-Encoding: gzip, deflate" -H "Refer: http://www.website.net/servers/new" "http://www.website.net/servers?server%5Bgame%5D=cstrike1&server%5Bdomain%5D=192.168.1.1&server%5Bport%5D=27000" 

,但我認爲你的意思是設置Referer頭而不是Refer,你可能應該自從發佈JSON數據e Content-Typeapplication/json

+0

不要忘記發佈實際JSON數據的'-d'。您也可以使用'-A'作爲用戶代理,使用'-e'作爲referrer,而不是手動使用'-H'。除非你準備自己解碼壓縮的響應數據,否則你不應該手動發送'Accept-Encoding',否則使用'--compressed'來讓curl處理它。 – 2015-04-02 20:06:43

+0

是的我的意思是Referer,另一個錯誤是Content-Type應該是Content-Type:application/x-www-form-urlencoded,但它不起作用。 – usersubuser 2015-04-02 21:23:08

+0

那麼你應該使用'-d「server [game] = cstrike1&server [domain] = 192.168.1.1&server [port] = 27000」'這些參數POST,而不是將它們作爲查詢參數傳遞給GET – 2015-04-04 13:46:48