Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Не выполняется HTTP запрос

340
03 мая 2010 года
Fellinggood
170 / / 27.04.2009
Здравствуйте! Возник вопрос: как сделать HTTP запрос через командную строку. Потому что когда делаю запрос,
например такого плана:

GET http://www.site.ru/news.html HTTP/1.0\r\n
Host: site.ru\r\n
Referer: http://www.site.ru/index.html\r\n
Cookie: income=1\r\n

через командную строку. Выдается такое предупреждение: "GET" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

Заранее благодарю.
7
03 мая 2010 года
@pixo $oft
3.4K / / 20.09.2006
А ты его вчистую из командной строки выполняешь,сразу после приглашения?:D
340
03 мая 2010 года
Fellinggood
170 / / 27.04.2009
Ну да, а как нужно, подскажи пожалуйста...
50K
03 мая 2010 года
public_morozov
45 / / 06.01.2010
Вначале установи подключение через telnet к серверу site.ru

Получится примерно так:
 
Код:
C:\>telnet www.site.ru 80
GET http://www.site.ru/news.html HTTP/1.1
Host: localhost


Сразу скажу что в телнете ты не будешь получать эхо команд которые ты вводишь, т.е. GET... отображатся при вводе не будут. После ввода команд нажми два раза Enter и ты получишь ответ веб-сервера.

Успехов
399
04 мая 2010 года
KIV
432 / / 20.01.2009
Могу посоветовать вот это: http://flatassembler.net/examples/quetannon.zip
Практически тоже, что и telnet только с более удобном интерфейсом.
340
12 мая 2010 года
Fellinggood
170 / / 27.04.2009
Цитата: public_morozov

Сразу скажу что в телнете ты не будешь получать эхо команд которые ты вводишь, т.е. GET... отображатся при вводе не будут.
Успехов



А не подскажешь как сделать, чтобы команды отображались в командной строке? :)

50K
12 мая 2010 года
public_morozov
45 / / 06.01.2010
Fellinggood это не получится сделать, так как для отображения печатаемого символа, тебе его должен обратно отправить сервер (HTTP сервер этого не делает), используй другие решения (см. выше)
369
13 мая 2010 года
Kesano
451 / / 09.10.2007
Я как-то работал над созданием бота для чата... бот пашет...

Код:
<form action="" method="POST" name="form">
<input type="text" name="myuid">
<input type="submit" name="but" value="Ввсети">
</form>
<?php

if($_POST["myuid"])

{
    function get_from_request($str, $default=null)
{
 return isset($_REQUEST[$str])?$_REQUEST[$str]:$default;
}

$socket = fsockopen("www.site.ru", 80);
if($socket)
{
    // Отправляем HTTP-запрос
 fwrite($socket, "GET /cgi-bin/ch/stream.cgi?room=".urlencode(get_from_request("room", "I2-"))."&uid=".urlencode(get_from_request("uid", $default_uid))."&sx=".urlencode(get_from_request("sx", "o"))."&col=".urlencode(get_from_request("col", "0"))
                   ."&dir=1&lp=".urlencode(get_from_request("lp", 0))."&lc=".urlencode(get_from_request("lc", 0))."&lu=".urlencode(get_from_request("lu", 0))."st=a\r\nHost: bizarre.com.ua\r\n\r\n");

                   print "Request sent2...\n";
                   flush();

                   
 // пока соединение соединено - выполняем то, что в этом цикле...                  
 while(!feof($socket))
 {
    //...а в этом цикле мы читаем строки по 4096 байт из сокета. Если строка закончится раньше, чем 4096 байт, - тоже гут.
  $str = fread($socket, 4096);
 
  // выводим и флашим - чтобы в буфере ничего не оставалось.
flush();

 
 }

 // юзер закрыл браузер либо сервер разорвал соединение.
 print "Closing connection.\n";
 fclose($socket);
}
else print "Connection error";


}


?>


Выньте отсюда то, что вам нужно...
369
13 мая 2010 года
Kesano
451 / / 09.10.2007
Просто если отправленный вами запрос из php-скрипта выглядит как:
 
Код:
$send="GET 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
Cookie: income=1\r\n"
;

То у вас присутствую еще сиволы переноса строк помимо \r\n в конце каждой строки. должно быть так:

 
Код:
$send="GET 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"
."Cookie: income=1\r\n";
339
14 мая 2010 года
verybadbug
619 / / 12.09.2005
или так...
 
Код:
$send=<<<SEND
GET http://www.site.ru/news.html  HTTP/1.0
Host: www.site.ru
Referer: http://www.site.ru/index.html
Cookie: income=1
SEND;
14
14 мая 2010 года
Phodopus
3.3K / / 19.06.2008
Цитата: Fellinggood
А не подскажешь как сделать, чтобы команды отображались в командной строке? :)


Отображаются. Если что есть опция telnet set localecho

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог