Люди, сделал фулдер на php. Вот урл: http://www.kaliningrad.mts.ru/sendform_sms.htm (Только Калининград) Как правильно сделать запрос? Вот что я сделал: PHP: <? 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 ; ?>
Вот: 18 строка: PHP: $header.="POST $host/smssend.htm HTTP/1.0"; 28 PHP: $header .= "Content-Length: ".strlen($qwerty)."\r\n\r\n" .$qwerty; Ну это я тока поверхностно прощелся, ща посмотрю еще Может пригодться: /thread22491.html
так проще всего... PHP: <? $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; ?>
2vizard-06 curl - есть далеко не на всех хостах. ТС читай доки по http протоколу http://www.codenet.ru/cat/WEB-Development/Internet-Protocols-and-Documents/HTTP/ другие найдёш в гугле.
ну вот пробовал сделать через сокеты , хз почему не пашет.... может кто то поправит, по идее правельно всё PHP: <? $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; ?> ИМХО курл самая бодрая весч! ))
разобрался..... PHP: <? $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; ?>