2010-09-01 7 views
6

: HTTP müşteriyeProses ham HTTP isteği

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; 

.

Ben cat raw.http | curl ancak başarılı olamadı çalıştı.

Herhangi bir öneriniz var mı?

Thx. içinde

cevap

17

ham veriler, dışarı ham veriler:

nc example.org 80 < raw.http 

bazı program sayesinde boru veri gerekirse: ben de düşündüm curl soru etiketlenmiş

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

Manual page

+0

+1 Dehşet basit bir örnek – tidwall

+0

bu aldatıcı basit bir cevaptır: Bu durumda bu şekilde gönderebilir. Sadece bazı durumlarda çalışır. Bunu kullandım ve socat. Sunucu, parçalanmış kodlamayla yanıt verirse, yalnızca ilk yanıtı alırsınız, bu da boş olabilir. Buraya hiçbir yerde bulamadığım doğru bir cevap aramak için geldim! – sillyMunky

+0

@sillyMunky Sorulacak yeni bir sorunuz varsa, lütfen yukarıdaki Soru Sor düğmesini kullanın. * İlk cevap * ile, ilk öbek ya da bir isteğin ilk cevabı mı demek istiyorsunuz ('Bağlantı: Keep-Alive' ile)? – Lekensteyn

4

bir bukle cevap vardı vakti diye

cat raw.http | curl "telnet://TARGETHOST:80" 
Normal kullanım için

sadece "ev sahibi" başlığı değeri aynı olacak şekilde TARGETHOST ayarlamanız gerekir. Benim amaçlar (normal değil) için

Belirli ana konakçı başlıklarını dinliyordum bir sunucuyla bir ip adresi olan bir TARGETHOST vuruyordu. Bu çözümlerden hiçbiri işe yarar

2

Not İhtiyacınıza http yerine https eğer.

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

thx bunun için de güzel ek;) – abernier

+7

Bu durumda sunucudan gönderilen yanıtı nasıl görüyorsunuz? –