2010-09-01 25 views
6

मैं की तरह एक कच्चे HTTP अनुरोध पारित करने के लिए करना चाहते हैं:प्रक्रिया कच्चे HTTP अनुरोध

GET /foo/bar HTTP/1.1 
Host: example.org 
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; fr; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 
Accept: */* 
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3 
Accept-Encoding: gzip,deflate 
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive: 115 
Connection: keep-alive 
Content-Type: application/x-www-form-urlencoded 
X-Requested-With: XMLHttpRequest 
Referer: http://example.org/test 
Cookie: foo=bar; lorem=ipsum; 

एक HTTP ग्राहक के लिए।

मैंने cat raw.http | curl की कोशिश की लेकिन सफलता के बिना।

कोई सुझाव?

Thx। में

उत्तर

17

कच्चे डेटा, बाहर कच्चे डेटा:

nc example.org 80 < raw.http 

आप कुछ कार्यक्रम के माध्यम से डेटा पाइप की जरूरत है:

cat raw.http | someprogram | nc example.org 80 

Manual page

+0

+1 अद्भुत रूप सरल उदाहरण – tidwall

+0

यह एक भ्रामक सरल जवाब है: इस मामले में आप इसे इस तरह भेज सकते हैं। यह केवल कुछ मामलों में काम करता है। मैंने इसका इस्तेमाल किया है और समाज। यदि सर्वर खंडित एन्कोडिंग के साथ प्रतिक्रिया देता है तो आपको केवल पहली प्रतिक्रिया मिल जाएगी, जो खाली हो सकती है। मैं यहाँ एक सही उत्तर की तलाश में आया जो मुझे कहीं भी नहीं मिल रहा है! – sillyMunky

+0

@sillyMunky अगर आपके पास पूछने के लिए एक नया सवाल है, तो ऊपर दिए गए प्रश्न पूछें बटन का उपयोग करें। * पहली प्रतिक्रिया * से, क्या आपका मतलब पहला खंड या अनुरोध का पहला जवाब है ('कनेक्शन: Keep-Alive' के साथ)? – Lekensteyn

4

प्रश्न टैग है इसलिए मैंने सोचा कि कर्ल यह लगभग एक कर्ल जवाब था

cat raw.http | curl "telnet://TARGETHOST:80" 

सामान्य उपयोग के लिए केवल "होस्ट" हेडर वैल्यू के समान होने के लिए TARGETHOST को सेट करने की आवश्यकता है।

मेरे उद्देश्यों के लिए (सामान्य नहीं) मैं एक TARGETHOST मार रहा था जो एक सर्वर के साथ एक आईपी पता था जो विशिष्ट मेजबान के होस्ट हेडर के लिए सुन रहा था।

2

ध्यान दें कि यदि इनमें http के बजाय httpS की आवश्यकता है तो इन समाधानों में से कोई भी काम नहीं करेगा।

$ cat raw.http | openssl s_client -connect server:443 
+0

thx भी इसके लिए, अच्छा जोड़ा;) – abernier

+7

आप इस मामले में सर्वर से वापस प्रतिक्रिया को कैसे देखते हैं? –

संबंधित मुद्दे