2014-06-19 47 views
2

我試圖在我的http文章內發送數據。以下代碼生成POST,但我無法弄清楚如何將數據導入主體或除http版本和URL字段以外的任何其他字段。我在網上查看並嘗試了其他來源的不同的東西,但無濟於事。最終這將在一個bash腳本內 - 我不能使用CURL或WGET。用netcat發送一個http POST

printf "POST /postresearch HTTP/5.0\r\n\r\nTHIS IS THE BODY" |nc -n -i 1 10.0.1.11 3000 
+0

爲什麼你不能使用正確的HTTP工具? – josh3736

+0

我需要它使用linux/ubuntu/fedora/centos的默認安裝。他們默認帶有netcat,但沒有http工具。 –

回答

2

你需要做一個valid HTTP request,其中包括使用正確的協議的版本號和POST請求,提供entity length,可能是一個content type

POST /postresearch HTTP/1.0 
Content-Length: 25 
Content-Type: application/x-www-form-urlencoded 

field=value&field2=value2 

我發出了一個HTTP請求1.0,指定該機構將在25個字節,並指定我送URL編碼形式參數(這是當你提交他們的瀏覽器如何發送的形式)。


順便說一句,不要這樣做。絕對沒有你應該實現你自己的HTTP客戶端的情況。使用適當的HTTP工具或庫。

+0

這是真的我正在使用協議號碼,看看我可以放在那裏,並且仍然發佈。它實際上適用於5.0。我會嘗試添加連接其他字段,看看它是如何工作的。 –