Post фулдер.

Discussion in 'PHP' started by -Hormold-, 1 Nov 2007.

  1. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Люди, сделал фулдер на 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($fp1024);
    }
    fclose($fp);

    echo 
    $line 

    ?>
     
  2. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Вот:
    18 строка:
    PHP:
    $header.="POST $host/smssend.htm HTTP/1.0"
    28
    PHP:
    $header .= "Content-Length: ".strlen($qwerty)."\r\n\r\n" 
    .$qwerty;
    Ну это я тока поверхностно прощелся, ща посмотрю еще

    Может пригодться: /thread22491.html
     
    #2 bul.666, 1 Nov 2007
    Last edited: 1 Nov 2007
  3. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Обязательный параметр COOKIE,count="Количество символов сообщения", + лимит времени
     
    1 person likes this.
  4. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Неработает =\
    Пожскажите нормальный вариант, вот запрос к серверу вытащил через Naviscope:
     
  5. inv

    inv Banned

    Joined:
    3 Aug 2007
    Messages:
    261
    Likes Received:
    143
    Reputations:
    -58
    <pre>echo $header</pre>
     
  6. vizard-06

    vizard-06 Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    55
    Likes Received:
    8
    Reputations:
    0
    так проще всего...
    PHP:
    <?
    $ch_autht curl_init();
    curl_setopt($ch_authtCURLOPT_URL"http://www.kaliningrad.mts.ru/smssend.htm");
    curl_setopt($ch_authtCURLOPT_COOKIEJAR'cookie.txt');
    curl_setopt($ch_authtCURLOPT_COOKIEFILE'cookie.txt');
    curl_setopt($ch_authtCURLOPT_POST1); 
    curl_setopt($ch_authtCURLOPT_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_authtCURLOPT_RETURNTRANSFER1);
    $ch_buf curl_exec($ch_autht);
    curl_close($ch_autht);
    echo 
    $ch_buf;
    ?>
     
  7. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    2vizard-06
    curl - есть далеко не на всех хостах.

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

    другие найдёш в гугле.
     
  8. vizard-06

    vizard-06 Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    55
    Likes Received:
    8
    Reputations:
    0
    ну вот пробовал сделать через сокеты , хз почему не пашет.... может кто то поправит, по идее правельно всё
    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 $errstr3);  
    if(!
    $fp)  
    {  
        echo 
    "$errstr ($errno) "
    }  
    else  
    {  
        
    fputs($fp$header); 
        while (!
    feof($fp)) 
        {
            
    $line .= fgets($fp1024); 
        } 
        
    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 $errstr3);  
    if(!
    $fp)  
    {  
        echo 
    "$errstr ($errno) "
    }  
    else  
    {  
        
    fputs($fp$head); 
        
    $line='';
        while (!
    feof($fp)) 
        {
            
    $line .= fgets($fp1024); 
        } 
        
    fclose($fp); 
    }
    echo 
    $line;
    ?>
    ИМХО курл самая бодрая весч! ))
     
    #8 vizard-06, 4 Nov 2007
    Last edited: 4 Nov 2007
  9. vizard-06

    vizard-06 Elder - Старейшина

    Joined:
    6 Dec 2006
    Messages:
    55
    Likes Received:
    8
    Reputations:
    0
    разобрался.....
    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 $errstr3);  
    if(!
    $fp)  
    {  
        echo 
    "$errstr ($errno) "
    }  
    else  
    {  
        
    fputs($fp$header); 
        while (!
    feof($fp)) 
        {
            
    $line .= fgets($fp1024); 
        } 
        
    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 $errstr3);  
    if(!
    $fp)  
    {  
        echo 
    "$errstr ($errno) "
    }  
    else  
    {  
        
    fputs($fp$head); 
        
    $line='';
        while (!
    feof($fp)) 
        {
            
    $line .= fgets($fp1024); 
        } 
        
    fclose($fp); 
    }
    echo 
    $line;
    ?>