Как послать запрос на сервер, по HTTP протоколу?





Ковыряю HTTP протокол, и в рамках этого исследования хочу провести тест.

вырезка из википедии:
Для того чтобы узнать возможности всего сервера клиент должен указать в URI звёздочку «*». Запросы «OPTIONS * HTTP/1.1» могут также применяться для проверки работоспособности сервера (аналогично «пингованию») и тестирования на предмет поддержки сервером протокола HTTP версии 1.1.

Вот я и хочу так опросить какой-нибудь сервер (скажем yandex) и получить ответ.
Какими классами, в каких языках программирования мне нужно пользоваться? Особенно интересно какой класс используется в ruby, но др языки тоже важны.
  • 8 июля 2009, 18:47
  • drk

Ответы (4)

RSS
+
0
Если я правильно понял:
<?php
$fs=fsockopen(gethostbyname("yandex.ru"),80,$no,$str,10);
if(!$fs) { echo "$str($no)"; } else {
$out="GET / OPTIONS * HTTP/1.0\r\n";
$out.="User-Agent: Mozilla/4.0 (compatible; PHP-script)\r\n";
$out.="Accept: */*\r\n";
$out.="Range: bytes=0-\r\n";
$out.="Host: yandex.ru\r\n";
$out.="Connection: close\r\n";
fputs($fs,$out);
while(!feof($fs)) { $fg=fgets($fs,1024); echo $fg; }
fclose($fs);}
?>
avatar

oman

  • 25 июля 2009, 11:06
+
0
Хоть через Telnet.
HTTP - обычный текстовый протокол. Открыл коннект по адресу, и посылай текстовые команды и анализируй ответы, пока не опупеешь.
avatar

aleks8119

  • 30 июля 2009, 18:06
+
0
да yandex ничего не ответит
там стоит nginx сервер - а это простой как башмак, и по этому быстрый, сервер. Да и написано он одним русским программистом, а он что хочет, то туда и пишет, и зачем ему реализовывать OPTIONS *
avatar

sqaimes

  • 22 июля 2009, 13:03
+
0
Через строку ввода адреса, или так же через командную строку только там геморойней.
avatar

ri-z

  • 20 июля 2009, 01:17

Вопрос закрыт