POST http://snaiper/cgi-bin/guest/guest.exe HTTP/1.1
Host: snaiper
Content-Type: application/x-www-form-urlencoded
Content-Length: 18
name=LoL&body=L123
заполнение другой формы через PHP
мне нужно через пхп заполнить форму перл скрипта,и отослать её.
Помогите плиз, не дайте умереть!
Заранее благодарен!
Как отправить гет запрос тут: http://forum.codenet.ru/showthread.php?s=&threadid=8426
(а вообще было пару трейдов где я расказывал про это подробно, так что поищи)
А та фигня не пашет !
Мой лог ничё не сказал..
напиши плиз , как делать то нада
$abs_url="http://snaiper/cgi-bin/guest/guest.exe";
$host="snaiper";
$port=80;
$query="POST $abs_url HTTP/1.1\r\n".
"name: LoL \r\n".
"body: L123 \r\n".
"Host: $host \r\n".
"Referer: $host \r\n".
"Cookie: income=0\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"\r\n";
Это не пашет ! Плиз , выручи.
Код:
кажется к параметрам name и body нужно применять
urlencode().
Content-Length есть strlen("name=LoL&body=L123").
такой хедер должен работать!
"Host: $host:$port \r\n".
"Referer: $host:$port \r\n".
"Cookie: income=0\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".$ln."\r\n".
"User-agent: PHP/class http 0.1\r\n".
"\r\n"."$q";
// q - запрос
!Это должно работать!
Цитата:
Originally posted by Joker
// q - запрос
!Это должно работать!
// q - запрос
!Это должно работать!
А запрос это что именно ?
$q="name=123&mes=321"; ?
или же
$q="name: 123 \r\n".
"mes: 3121 \r\n"; ?
<?
$abs_url="http://195.90.177.196/cgi-bin/guest/guest.exe";
$host="195.90.177.196";
$port=80;
$q="name=LoL&mes=L123";
$ln=strlen($q);
$query="POST $abs_url HTTP/1.1\r\n".
"Host: $host:$port \r\n".
"Referer: $host:$port \r\n".
"Cookie: income=0\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".$ln."\r\n".
"User-agent: PHP/class http 0.1\r\n".
"\r\n"."$q";
?>
Запускаю, скрипт выполняется , а я у себя в логе
не вижу даже такой строчки, которая обращалась бы к $abs_url'у =(
Вот такая вот хрень =(
Есть идеи ?
типа fsockopen()!
Код:
<?php
//что-то типа того
$abs_url="http://195.90.177.196/cgi-bin/guest/guest.exe";
$host="195.90.177.196";
$port=80;
$q="name=".urlencode("LoL")."&mes=".urlencode("L123");
$query = "POST ".$abs_url." HTTP/1.1\r\n";
$query .= "Host: ".$host.":".$port." \r\n";
$query .= "Referer: ".$host.":".$port." \r\n";
$query .= "Cookie: income=0\r\n";
$query .= "Content-Type: application/x-www-form-urlencoded\r\n";
$query .= "Content-Length: ".strlen($q)."\r\n";
$query .= "User-agent: PHP/class http 0.1\r\n";
$query .= "\r\n".$q;
$sock = @fsockopen($host, $port, $errno, $errstr, 120);
if(!$sock)
{
echo "($errno) $errstr";
exit;
}
fwrite($sock, $query);
while(!feof($sock))
{
$out = fgets($sock, 2048);
if($out == "\r\n")
{
break;
}
header($out);
}
while(!feof($sock)
{
$out = fread($sock, 2048);
echo $out;
}
fclose($sock);
exit;
?>
//что-то типа того
$abs_url="http://195.90.177.196/cgi-bin/guest/guest.exe";
$host="195.90.177.196";
$port=80;
$q="name=".urlencode("LoL")."&mes=".urlencode("L123");
$query = "POST ".$abs_url." HTTP/1.1\r\n";
$query .= "Host: ".$host.":".$port." \r\n";
$query .= "Referer: ".$host.":".$port." \r\n";
$query .= "Cookie: income=0\r\n";
$query .= "Content-Type: application/x-www-form-urlencoded\r\n";
$query .= "Content-Length: ".strlen($q)."\r\n";
$query .= "User-agent: PHP/class http 0.1\r\n";
$query .= "\r\n".$q;
$sock = @fsockopen($host, $port, $errno, $errstr, 120);
if(!$sock)
{
echo "($errno) $errstr";
exit;
}
fwrite($sock, $query);
while(!feof($sock))
{
$out = fgets($sock, 2048);
if($out == "\r\n")
{
break;
}
header($out);
}
while(!feof($sock)
{
$out = fread($sock, 2048);
echo $out;
}
fclose($sock);
exit;
?>
] malformed header from script. Bad header=HTTP/1.1 200 OK: d:/php/php.exe
попробуй убрать header($out); или поставь перед ним @
измени HTTP/1.1 на HTTP/1.0
какая версия PHP?
у меня подобный скрипт работает...
И серовно не пашет...
в скрипте ошибка?
запрос не правильно составлен?
пробовал убрать header($out) ???
или попробуй заменить на echo $out;
HTTP/1.1 200 OK Date: Tue, 07 Jan 2003 21:09:25 GMT Server: Apache/1.3.20 (Win32) Content: Content-Length: 13326 Content-Type: text/html
Warning: Undefined variable: fp in d:\program files\apache group\apache\web\testing\t1.php on line 39
Warning: Supplied argument is not a valid File-Handle resource in d:\program files\apache group\apache\web\testing\t1.php on line 39
и эти варинги не кончаются !
А линия 39 - это
$out = fread($fp, 2048);
ВСЁ РАБОТАЕТ !
Я ПРОСТО ЗАБЫЛ В АБС УРЛ добавить guest.exe?action=post
А так он работает !
Но возвращает серовно 500-ую ошибку.
Т.е. в форму он добавил , а потом апач ругается :
malformed header from script. Bad header=HTTP/1.1 200 OK: d:/php/php.exe
$out = fread($fp, 2048);
$FP ??????????????
$out = fread($sock, 2048);
Код:
$out = fread($sock, 2048);
мог бы и сам догадатся!
эту строчку из мануала вырезал... забыл поправить!