PDA

Просмотр полной версии : Post фулдер.


-Hormold-
01.11.2007, 20:59
Люди, сделал фулдер на php.
Вот урл: http://www.kaliningrad.mts.ru/sendform_sms.htm
(Только Калининград)
Как правильно сделать запрос?
Вот что я сделал:

<?
Error_Reporting(E_ALL & ~E_NOTICE);
set_time_limit(0) or die('Unable to set time limit 0.');
$header="";
$line ="";
$hs=date('H');
$ms=date('i');
$yr=date('Y');
$mr=date('m');
$day=date('d');
$number="7911xxxxxxx";
$msg="Test!";
$timeout = 20;
$port = 80 ;
$qwerty="?To=".$number."&Msg=".$msg."&SMSHour=".$hs."&SMSMinute=".$ms."&SMSDay=".$day."&SMSMonth=".$mr."&SMSYear=".$yr;
echo $qwerty;
$host = "www.kaliningrad.mts.ru" ;
$header.="POST /smssend.htm".$qwerty." HTTP/1.0";
$header.="Host:".$host;
$header.="Accept-Language: ru-ru";
$header.="Accept: image/gif, image/x-xbitmap,image/jpeg, image/pjpeg, application/x-shockwave-flash,application/msword";
$header.="Pragma: no-cache";
$header .="Connection: Keep-Alive";
$header .="User-Agent: Mozilla/4.0 (compatible";
$header .="MSIE 6.0; Windows NT 5.1; MRA 4.6 (build 01425); .NET CLR 1.1.4322)";
$header .= "Referer: http://kaliningrad.mts.ru\r\n";
$header .= "Content-Type: multipart/form-data\r\n";
$header .= "Content-Length: 1024\r\n\r\n";

$fp = fsockopen($host, $port, $errno , $errstr, $timeout);
if(!$fp)
{
echo "$errstr ($errno) ";
}
else
{
fputs($fp, $header);
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo $line ;

?>

bul.666
01.11.2007, 21:35
Вот:
18 строка:
$header.="POST $host/smssend.htm HTTP/1.0";
28
$header .= "Content-Length: ".strlen($qwerty)."\r\n\r\n"
.$qwerty;

Ну это я тока поверхностно прощелся, ща посмотрю еще

Может пригодться: http://forum.antichat.ru/thread22491.html

bul.666
01.11.2007, 22:08
Обязательный параметр COOKIE,count="Количество символов сообщения", + лимит времени

-Hormold-
02.11.2007, 21:07
Неработает =\
Пожскажите нормальный вариант, вот запрос к серверу вытащил через Naviscope:

POST http://www.kaliningrad.mts.ru/smssend.htm HTTP/1.0
Accept: */*
Referer: http://www.kaliningrad.mts.ru/sendform_sms.htm
Accept-Language: en-au
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.7 (build 01670); Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; MEGAUPLOAD 1.0; .NET CLR 1.1.4322; MEGAUPLOAD 2.0)
Host: www.kaliningrad.mts.ru
Content-Length: 125
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: JSESSIONID=A61DF6CCCB8281AAC730AF1F752C38A0

To=7911*******&Msg=lol%27%F8%EE%E3%0D%0Aa-z%0D%0AA-Z+01-9&count=22&SMSHour=22&SMSMinute=53&SMSDay=02&SMSMonth=11&SMSYear=2007

inv
02.11.2007, 21:20
<pre>echo $header</pre>

vizard-06
03.11.2007, 09:59
так проще всего...

<?
$ch_autht = curl_init();
curl_setopt($ch_autht, CURLOPT_URL, "http://www.kaliningrad.mts.ru/smssend.htm");
curl_setopt($ch_autht, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch_autht, CURLOPT_COOKIEFILE, 'cookie.txt');
curl_setopt($ch_autht, CURLOPT_POST, 1);
curl_setopt($ch_autht, CURLOPT_POSTFIELDS, "To=7911*******&Msg=lol%27%F8%EE%E3%0D%0Aa-z%0D%0AA-Z+01-9&count=22&SMSHour=22&SMSMinute=53&SMSDay=02&SMSMonth=11&SMSYear=2007");
curl_setopt ($ch_autht, CURLOPT_RETURNTRANSFER, 1);
$ch_buf = curl_exec($ch_autht);
curl_close($ch_autht);
echo $ch_buf;
?>

mr.The
03.11.2007, 16:35
2vizard-06
curl - есть далеко не на всех хостах.

ТС читай доки по http протоколу
http://www.codenet.ru/cat/WEB-Development/Internet-Protocols-and-Documents/HTTP/

другие найдёш в гугле.

vizard-06
04.11.2007, 09:44
ну вот пробовал сделать через сокеты , хз почему не пашет.... может кто то поправит, по идее правельно всё

<?
$line ="";
$port = 80 ;
$post="&To=78125436754&Msg=fdsfsdfs&count=8&SMSHour=11&SMSMinute=24&SMSDay=04&SMSMonth=11&SMSYear=2007&translit=yes";
$host = "www.kaliningrad.mts.ru";
$header = "POST /smssend.htm HTTP/1.0\r\n";
$header .= "User-Agent: Opera/9.10 (Windows NT 5.1; U; ru)";
$header .= "Accept: */*\r\n";
$header .= "Referer: http://www.kaliningrad.mts.ru/sendform_sms.htm\r\n";
$header .= "Content-Type: multipart/form-data\r\n";
$header .= "Host: www.kaliningrad.mts.ru\r\n";
$header .= "Proxy-Connection: Keep-Alive\r\n";
$header .= "Pragma: no-cache\r\n";
$header .= "Content-Length: ".strlen($post)."\r\n\r\n";
$header .= $post;

$fp = fsockopen($host, $port, $errno , $errstr, 3);
if(!$fp)
{
echo "$errstr ($errno) ";
}
else
{
fputs($fp, $header);
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
preg_match("/JSESSIONID\=(.*?)\;/i",$line,$pars);
print_r($pars);
echo '<br>';
$head = "POST /smssend.htm HTTP/1.0\r\n";
$head .= "User-Agent: Opera/9.10 (Windows NT 5.1; U; ru)";
$head .= "Accept: */*\r\n";
$head .= "Referer: http://www.kaliningrad.mts.ru/sendform_sms.htm\r\n";
$head .= "Content-Type: multipart/form-data\r\n";
$head .= "Host: www.kaliningrad.mts.ru\r\n";
$head .= "Proxy-Connection: Keep-Alive\r\n";
$head .= "Pragma: no-cache\r\n";
$head .= "Cookie: $pars[0] region.alias=msk\r\n";
$head .= "Cookie2: $Version=1\r\n";
$head .= "Content-Length: ".strlen($post)."\r\n\r\n";
$head .= $post;

$fp = fsockopen($host, $port, $errno , $errstr, 3);
if(!$fp)
{
echo "$errstr ($errno) ";
}
else
{
fputs($fp, $head);
$line='';
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo $line;
?>


ИМХО курл самая бодрая весч! ))

vizard-06
04.11.2007, 10:13
разобрался.....

<?
$line ="";
$port = 80 ;
$post="&To=79125555555&Msg=test&count=4&SMSHour=11&SMSMinute=55&SMSDay=04&SMSMonth=11&SMSYear=2007&translit=yes";
$host = "www.kaliningrad.mts.ru";
$header = "GET /sendform_sms.htm HTTP/1.0\r\n";
$header .= "User-Agent: Opera/9.10 (Windows NT 5.1; U; ru)\r\n";
$header .= "Host: www.kaliningrad.mts.ru\r\n";
$header .= "Accept-Language: ru-RU\r\n";
$header .= "Referer: http://www.kaliningrad.mts.ru/free_sending.htm\r\n";
$header .= "Proxy-Connection: close\r\n\r\n";

$fp = fsockopen($host, $port, $errno , $errstr, 3);
if(!$fp)
{
echo "$errstr ($errno) ";
}
else
{
fputs($fp, $header);
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
preg_match("/JSESSIONID\=(.*?)\;/i",$line,$pars);
print_r($pars);


$head = "POST /smssend.htm HTTP/1.0\r\n";
$head .= "User-Agent: Opera/9.10 (Windows NT 5.1; U; ru)\r\n";
$head .= "Host: www.kaliningrad.mts.ru\r\n";
$head .= "Accept: */*\r\n";
$head .= "Accept-Language: ru-RU\r\n";
$head .= "Referer: http://www.kaliningrad.mts.ru/sendform_sms.htm\r\n";
$head .= "Cookie: $pars[0] region.alias=msk\r\n";
$head .= "Cookie2: $Version=1\r\n";
$head .= "Proxy-Connection: close\r\n";
$head .= "Content-Length: ".strlen($post)."\r\n\r\n";
$head .= $post;

$fp = fsockopen($host, $port, $errno , $errstr, 3);
if(!$fp)
{
echo "$errstr ($errno) ";
}
else
{
fputs($fp, $head);
$line='';
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo $line;
?>