Отправка POST на mail.ru

Discussion in 'PHP' started by ozerin, 20 Jun 2009.

  1. ozerin

    ozerin New Member

    Joined:
    14 Jun 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Вот функция. Отправляет на страницу регистрации POST запрос и куки, которые были получены при загрузки страницы.

    HTML:
    function sendpost($query,$cookie) {
    $hostname = "win.mail.ru";
    $path = "/cgi-bin/signup";
    // Устанавливаем соединение
    $fp = fsockopen($hostname, 80, $errno, $errstr, 30); 
    // Проверяем успешность установки соединения
    if (!$fp) {echo "$errstr ($errno)<br />\n";} else {
    // Данные HTTP-запроса
    $data=$query."\r\n\r\n";
    // Заголовок HTTP-запроса
    $headers = "POST $path HTTP/1.1\r\n"; 
    $headers .= "Host: $hostname\r\n";
    $headers .= "Cookie: $cookie;\r\n";
    $headers .= "Content-type: application/x-www-form-urlencoded\r\n";
    $headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
    // Отправляем HTTP-запрос серверу
    fwrite($fp, $headers.$data); 
    // Получаем ответ
    while (!feof($fp)) {$line .= fgets($fp, 1024);} 
    fclose($fp);
    };
    echo $line;
    }

    Отправляю:
    $query: x_9685fd73529a3cfd=%CA%E0%F2%FF&x_ce4785fc7ebe7b11=%CF%E5%F2%F0%EE%E2%E0&RegistrationDomain=list.ru&ID=fCmzn9JY&Count=1&back=&x_aecbb5dbdf0ad71d=6&BirthMonth=2&x_8f71cf9be8932562=1984&x_89760966ed8ffbab=4a331530&x_d6ba3f595fc6a53e=30b7467&x_3be959b60b3314cc=30b7467&Password_Question=%CD%EE%EC%E5%F0+%EF%E0%F1%EF%EE%F0%F2a&x_0bc47e987ac89495=&x_029950df7db0582e=380678004&x_f9303e65dfaba308=&RemindPhone=&x_009ef226a1e2d2cc=2&Mrim.Country=24&Mrim.Region=25&geo_countryId=24&geo_regionId=999999&geo_cityId=25&your_town=%CC%EE%F1%EA%E2%E0%2C+%D0%EE%F1%F1%E8%FF&geo_country=24&geo_region=undefined&geo_place=&my_create=1&x_reg_id=PLxOwcIk&security_image_id=&x_a8bd993acd3fd808=MBA7E0&B1=+%C7%E0%F0%E5%E3%E8%F1%F2%F0%E8%F0%EE%E2%E0%F2%FC+%EF%EE%F7%F2%EE%E2%FB%E9+%FF%F9%E8%EA+
    $cookie: mrcu=5C7A4A33153648DAF104180B6A5F

    в ответ получаю все ту же пустую страницу регистрации. как будто бы запрос мимо пролетел совершенно.. хоть бы ошибки какие выдал..
    помогите разобраться пожалуйста в чем проблема.
     
  2. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    После такого запроса в ответ тебе даются куки и заголовок Location, который нужно загрузить с этими куками...

    Делал так?
     
  3. ozerin

    ozerin New Member

    Joined:
    14 Jun 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    точно, сейчас проверил через окно перехвата на мозиле.
    блин... там вообще туева хуча страниц выходит после отправки запроса.
    как проще реализовать имитацию действий браузера в этом случае?
     
  4. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,520
    Likes Received:
    401
    Reputations:
    196
    Да там всего два запроса для реги - отправить регистрационные данные, а затем перейти по урлу в заголовке location + принятые куки туда отослать...

    И все... ящик зареган
     
  5. mr.The

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

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    сделай свой регер на курле, он пререходит по location автоматически. либо ковыряйся с регулярками
     
  6. ozerin

    ozerin New Member

    Joined:
    14 Jun 2009
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    mr.The, и куки он тоже автоматически передает когда переходит по location?
    curl неудобен т.к.я тестирую на денвере а там нету его.
     
  7. wildshaman

    wildshaman Elder - Старейшина

    Joined:
    16 Apr 2008
    Messages:
    477
    Likes Received:
    483
    Reputations:
    99
    да, передает, если два параметра указать.
    качай с сайта денвера расширанеия для php5, там curl есть.
     
  8. Deathdreams

    Deathdreams Elder - Старейшина

    Joined:
    8 Nov 2008
    Messages:
    342
    Likes Received:
    116
    Reputations:
    5
    curl на денвере есть,надо в php.ini включить.
     
  9. geforse

    geforse Elder - Старейшина

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Инструкция :)
     
Loading...
Similar Threads - Отправка POST mail
  1. GAiN
    Replies:
    3
    Views:
    7,693