Обрабатывать необработанный HTTP-запрос - PullRequest
14 голосов
/ 01 сентября 2010

Я бы хотел передать необработанный 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.

Ответы [ 3 ]

24 голосов
/ 01 сентября 2010

Исходные данные, исходные данные:

nc example.org 80 < raw.http

Если вам нужно передать данные через какую-то программу:

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

Страница справочника

7 голосов
/ 10 июля 2014

Вопрос помечен как curl, так что я подумал, что пришло время получить ответ curl

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

Для обычного использования просто необходимо установить TARGETHOST равным значению заголовка "host".

Для моих целей (не нормально) я нажимал TARGETHOST, который представлял собой ip-адрес сервера, который прослушивал заголовки хостов определенных хостов.

5 голосов
/ 15 марта 2017

Обратите внимание, что ни одно из этих решений не будет работать, если вам нужен httpS вместо http.В этом случае вы можете отправить его так:

$ cat raw.http | openssl s_client -connect server:443
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...