пердача параметров методом POST средствами PHP

R1
На сайте с 01.04.2006
Offline
93
727

Собственно вопрос

мне, грубо говоря, нада сэмулировать браузер.

причем данные должны посылатся методом POST

я посылаю вот такой запрос

$str_z="a=33&d=ui&n4=3";

$fp = fsockopen($host, 80, $errno, $errstr, 30);

if (!$fp) {echo "Unable to open\n"; }

else

{

$out = "POST /".$url." HTTP/1.1\r\n";

$out .= "Host: ".$host."\r\n";

$out .= "Content-length: ".$content_lenght."\r\n";

$out .= "Connection: Keep-Alive\r\n";

$out .= $str_z."\r\n";

fwrite($fp, $out);

while (!feof($fp)) {

echo fgets($fp, 128);

}

fclose($fp);

}

но параметры непередаются :(

уже крутил как мог, сутки уже бьюсь :(

подскадите пожалуйста что я неправильно делаю.

или напишите как правильно передавать параметры по POST

Solmyr
На сайте с 10.09.2007
Offline
501
#1

$out .= "Connection: Keep-Alive\r\n";

$out .= $str_z."\r\n";

между этим двумя строками еще один \r\n поставь

mfl
На сайте с 16.10.2006
Offline
134
mfl
#2

Вариант - использование CURL, на мой взгляд, на много удобнее

http://ru2.php.net/manual/ru/book.curl.php

malls
На сайте с 08.08.2005
Offline
255
#3

$out = "POST $url HTTP 1.1\r\n";

Solmyr
На сайте с 10.09.2007
Offline
501
#4
malls:
$out = "POST $url HTTP 1.1\r\n";

Не, знак "/" там нужен.

Xover
На сайте с 22.05.2006
Offline
101
#5
$out .= "Content-length: ".$content_lenght."\r\n";

длина нигде не высчитывается, хотя должна после $str_z

Покупаю внутренние PR4 на sape.ru (http://www.sape.ru/r.f3cfb23480.php)
Progr@mmer\.
На сайте с 14.10.2007
Offline
44
#6

$content_lenght = strlen($str_z);

Вашей девушке не хватает романтики? Черпните её на сайте «Я Люблю Романтику» (http://iloveromantics.ru/). Романтический форум (http://forum.iloveromantics.ru/) для отдыха от нудной работы.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий