Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Создание post запроса

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Создание post запроса
Имя
Сообщение << Старые топики   Новые топики >>
Создание post запроса - 2009-04-02 19:05:48.490000   
ldcount

Сообщений: 11
Оценки: 0
Присоединился: 2008-09-10 21:17:22.956666
Добрый день.

Я пишу скрипт, который реализует post запрос. Скрипт выполняется и сервер дает положительный ответ (200), но действия, которые должен выполнить скрипт не происходят. Быть может в коде, что ниже просто есть какая-нибудь глупая синтаксическая ошибка?

Вопрос 2: при формировании пакета для отправки имеет значение в каком порядке его формировать? Я имеею ввиду, критично ли добавить вначале "host" a потом "user agent" а не наоборот?


&lt;? $host="server.com"; $path=""; $port=80; $proxy=""; $hip = gethostbyname($host); function sendpacketii($packet) {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp; global $host, $port, $hdata, $hip; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; $ock=fsockopen($hip,$port); &nbsp;&nbsp; if (!$ock) { &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die("No response from ".$hip.":".$port); &nbsp;&nbsp; } &nbsp;&nbsp; fputs($ock,$packet,strlen($packet)); &nbsp;&nbsp; $hdata=""; &nbsp;&nbsp; //while (!feof($ock)) { &nbsp;//&nbsp; $hdata.=fgets($ock); //$hdata .= fread($ock, 128); &nbsp;//&nbsp; } &nbsp;&nbsp; $hdata = @fread($ock, 4096); &nbsp;&nbsp; fclose($ock); } &nbsp;&nbsp; $data="lj_form_auth=c0%3A1238652000%3A600%3A86400%3Amy4s2rZ1Ys-19193164-10%3Ab223341014f66c41fe5cb17aa7e4fd0e&amp;msg_to=someuser&amp;msg_subject=ddd&amp;msg_body=ddd&amp;mode=send\r\n"; &nbsp;&nbsp; $packet ="POST /action.php HTTP/1.1\r\n"; &nbsp;&nbsp; $packet.="Host: ".$host."\r\n"; &nbsp;&nbsp; $packet.="User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 FirePHP/0.2.4\r\n"; &nbsp;&nbsp; $packet.="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"; &nbsp;&nbsp; $packet.="Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n"; &nbsp;&nbsp; $packet.="Accept-Encoding: gzip,deflate\r\n"; &nbsp;&nbsp; $packet.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"; &nbsp;&nbsp; $packet.="Keep-Alive: 300\r\n"; &nbsp;&nbsp; $packet.="Connection: keep-alive\r\n"; &nbsp;&nbsp; $packet.="Referer: http://somereferer.ru\r\n"; &nbsp;&nbsp; $packet.="Cookie: ljuniq=h2OErum5dKGXsCR:1238623007:pgstats0:m1; rsi_segs=B09805_10002; langpref=ru/1238390609; ljmastersession=v1:u19192164:s10:a4BkKd4pyhR//Thanks+for+signing+in+/+LiveJournal+loves+you+a+lot+/+Here+have+a+cookie; ljloggedin=u19193164:s10; BMLschemepref=vertigo; ljsession=v1:u19123164:s10:t1238389200:g74336836cf8efbdb1142202d594d2af9fc745579\r\n"; &nbsp;&nbsp; $packet.="Content-Type: application/x-www-form-urlencoded\r\n"; &nbsp;&nbsp; $packet.="Content-Length: ".strlen($data)."\r\n"; &nbsp;&nbsp; $packet.="\r\n"; &nbsp;&nbsp; $packet.=$data; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; //$packet.="UA-CPU: x86\r\n"; &nbsp;&nbsp; //$packet.="Chache-Control: no-chache\r\n"; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; echo $packet; &nbsp;&nbsp; echo "&lt;br&gt;&lt;br&gt;"; &nbsp;&nbsp; sendpacketii($packet); &nbsp;&nbsp;&nbsp; echo $hdata; &nbsp;&nbsp; ?&gt;
Post #: 1
RE: Создание post запроса - 2009-04-02 21:38:45.110000   
Pashkela

Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
function sendpacketii($packet)

$packet.=$data;

либо в функции, либо в самом скрипте - надо разные названия для пакета, нельзя одинаковые

Плюс в фуекцию не добавил в конец самый

return $hdata;

Значение получаешь, но не возвращаешь, всегда будет пусто

Плюс все-таки

while (!feof($ock)) $hdata. = fread($ock, 4096);
Post #: 2
RE: Создание post запроса - 2009-04-02 23:15:23.320000   
oRb

Сообщений: 4044
Оценки: 597
Присоединился: 2007-03-28 18:45:06.630000
quote:

Я пишу скрипт, который реализует post запрос. Скрипт выполняется и сервер дает положительный ответ (200), но действия, которые должен выполнить скрипт не происходят. Быть может в коде, что ниже просто есть какая-нибудь глупая синтаксическая ошибка?

Была б синтаксическая ошибка, скрипт бы не заработал. Ошибка скорее лошическая. Ты открываешь Keep-Alive соединение, и считываешь ответ от сервера 1 раз. Предположим первым пакетом тебе сервер вернул только заголовки, второй ты уже не ловишь. Попробуй использовать Connection: close и считывать while (!feof($ock))
quote:

Вопрос 2: при формировании пакета для отправки имеет значение в каком порядке его формировать?
нет
Post #: 3
RE: Создание post запроса - 2009-04-02 23:20:04.510000   
ldcount

Сообщений: 11
Оценки: 0
Присоединился: 2008-09-10 21:17:22.956666
Спасибо за ответы. Буду разбираться.
Post #: 4
RE: Создание post запроса - 2009-04-02 23:36:47.643333   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
Юзай cURL
Post #: 5
RE: Создание post запроса - 2009-04-02 23:39:25.676666   
ldcount

Сообщений: 11
Оценки: 0
Присоединился: 2008-09-10 21:17:22.956666
Я слышал об этом. Хочу без курла. Зачем?
Post #: 6
RE: Создание post запроса - 2009-04-03 00:21:21.073333   
Cep}|{

Сообщений: 1396
Оценки: 0
Присоединился: 2007-06-26 01:11:51.416666
quote:

Хочу без курла. Зачем?
Он лучше пахнет…

Шутка…

Ну просто он устроен для того чтобы ты мог посылать нужные тебе запросы…


Почитай про него
Post #: 7
RE: Создание post запроса - 2009-04-03 10:42:39.516666   
ldcount

Сообщений: 11
Оценки: 0
Присоединился: 2008-09-10 21:17:22.956666
Написал на C#. Его гигантское преимущество в том, что я знаю, как дебажить
код. Т.е. в момент отправки я вижу, что отправляется и, если надо, могу это
править.

В данном случае дебаггером был локальный прокси сервер.

Как дебажить php код в данном случае?
Post #: 8
RE: Создание post запроса - 2009-04-03 14:17:26.593333   
SureGOOD

Сообщений: 20
Оценки: 0
Присоединился: 2009-03-30 14:34:39.703333
если без специальных сред для разработки, то просто почаще принтуй значения)
Post #: 9
RE: Создание post запроса - 2009-04-03 14:53:22.386666   
ldcount

Сообщений: 11
Оценки: 0
Присоединился: 2008-09-10 21:17:22.956666
SureGOOD, какие "специальные среды разработки" и плагины к ним ты используешь для написания на php?
Post #: 10
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Создание post запроса







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.