LINUX.ORG.RU

http-запрос со всеми «кишками»


0

1

Здравствуйте, товарищи!
У меня нубский вопрос. :о) Где (и как) в Linux'е можно послать и получить http-запрос и ответ на него. Пробовал использовать lwp-request, но там все заголовки и т.п. убрано в параметры. А мне надо чтобы все вместе было, типа:

POST http://www.site.ru/news.html HTTP/1.0\r\n
Host: www.site.ru\r\n
Referer: http://www.site.ru/index.html\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Content-Length: 35\r\n
\r\n
login=vasyapupkin
password=qq
Вот вместе с символами переноса строк и т.п. И ответ чтобы тоже также можно было посмотреть в виде:
HTTP/1.0 200 OK
Date: Wed, 11 Feb 2009 11:20:59 GMT
Server: Apache
X-Powered-By: PHP/5.2.4-2ubuntu5wm1
Last-Modified: Wed, 11 Feb 2009 11:20:59 GMT
Content-Language: ru
Content-Type: text/html; charset=utf-8
Content-Length: 1234
Connection: close
Вот. Есть что-нибудь подобное? Ну, или посоветуйте, как это можно сэмулировать..

З.Ы. система - Ubuntu 10.4

Ответ на: комментарий от AITap

Дык с ним вроде та же беда: он все заголовки сам формирует, и можно на их содержимое только повлиять через параметры. Или я не вник просто?

Bertolomych
() автор топика

как тут уже правильно сказали - telnet - самый Ъ браузер.

isden ★★★★★
()
Ответ на: комментарий от madgnu

О! супер! все оказалось как водится не так просто - а даже еще проще. =)
вот только..

Connection closed by foreign host.
Секунды через 3.
Это в связи с чем?

Bertolomych
() автор топика
Ответ на: комментарий от Bertolomych
       -H/--header <header>
              (HTTP) Extra header to use when getting a web page. You may specify any number of extra headers. Note that if you should add a custom header that has  the  same
              name  as  one  of  the  internal ones curl would use, your externally set header will be used instead of the internal one. This allows you to make even trickier
              stuff than curl would normally do. You should not replace internally set headers without knowing perfectly well what you're doing. Remove an internal header  by
              giving a replacement without content on the right side of the colon, as in: -H "Host:".

              curl  will  make sure that each header you add/replace is sent with the proper end-of-line marker, you should thus not add that as a part of the header content:
              do not add newlines or carriage returns, they will only mess things up for you.

              See also the -A/--user-agent and -e/--referer options.

              This option can be used multiple times to add/replace/remove multiple headers.
       -I/--head
              (HTTP/FTP/FILE) Fetch the HTTP-header only! HTTP-servers feature the command HEAD which this uses to get nothing but the header of a document. When  used  on  a
              FTP or FILE file, curl displays the file size and last modification time only.

Также можно воспользоваться telnet/nc/ncat, как сказали ораторы выше.

AITap ★★★★★
()
Ответ на: комментарий от zombiegrinder_6000

Да, netcat - тоже тема. Спасибо всем!

но та же проблема - закрывает коннект секунды через 3..

с этим можно что-нибудь поделать?

Bertolomych
() автор топика
Ответ на: комментарий от Bertolomych

Так это удаленный сервер закрывает. Может что-то типа keep-alive использовать?

netcat - тоже тема

telnet - не тема, так как шлет всякие управляющие коды. telnet годится только для тестирования FTP.

zombiegrinder_6000
()
Ответ на: комментарий от zombiegrinder_6000

>telnet - не тема, так как шлет всякие управляющие коды. telnet годится только для тестирования FTP.

Ок. будем юзать netcat.

Так это удаленный сервер закрывает. Может что-то типа keep-alive использовать?

ok. поэксперементируем.

Всем спасибо, еще раз!

Bertolomych
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.