Запрос на сайт

Discussion in 'PHP' started by Buffalon, 2 Dec 2008.

  1. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Короче тут описан пост запрос на сайт www.weblancer.net/
    Но он вообще никак не реагирует(
    Что не хватает???Или кук нехватает как их прикрепить???

    PHP:
     <?
    set_time_limit(100);
     function Post($server,$url,$post)
        {
            $q="POST $url HTTP/1.1\r\n".
            "Host: $server\r\n".
            "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n".
            'Accept:text/html, image/jpeg, image/png, text/*, image/*, */*'."\r\n".
            "Accept-Encoding: x-gzip, x-deflate, gzip\r\n".
            "Accept-Charset: windows-1251, utf-8;q=0.5, *; q=0.5\r\n".
            "Accept-Language:ru, en\r\n".
            "Keep-Alive: 300\r\n".
            "Proxy-Connection: keep-alive\r\n".
            "Referer: $server \r\n".
            //
            "Content-Type: application/x-www-form-urlencoded\r\n".
            "Content-Length: ".strlen($post)."\r\n".
            "\r\n".
            "$post\r\n";
            $s=fsockopen($server,80);
            fputs($s,$q);
            while (!feof($s)) $page.=fgets($s);
            fclose($s);
            return $page;
    }
    echo Post('91.196.0.75','http://www.weblancer.net/','login=Buffalon&password=xXx');

    ?>
    Сама функция работает отлично .Проверял у себя на локалхосте , а вот тут я забыл что то в пост указать?
     
    #1 Buffalon, 2 Dec 2008
    Last edited: 2 Dec 2008
  2. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Ммм, каг бе у меня скрипт работает, во всяком случае ответ есть. Мб у тя заблокированы сокеты на хостинге?
     
    _________________________
  3. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Используй Curl , на много проще, чем возиться с зоголовками, и зачем у тебя set_time_limit(100); , что запрос к серваку и отдача от него будет идти почти 2 менуты.

    В CURL для установки кукисов используй CURLOPT_COOKIE а для работы с проксиком CURLOPT_PROXY
     
  4. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Да ответ есть , вопрос в том что не могу залогинеться , если даже логин не верный то он должен выдавать другой текст типа пароль не верен.А у меня вообще ничего не передаёт .Какой Пост я забыл указать?
     
  5. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    И еще поставь в начало error_reporting(7); и посмотри что выдасть скрипт
     
  6. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    set_time_limit(100); У меня GRPS :D
    ВСегда хотел узнать что такое Курл да времени не хватало , а сейчас пишу скрипт - как раз самое время - говорят не сложно разобраться , а можно плмз пример с КУРЛ?
     
  7. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Вот твоя загвозка вот тут, нужн указывать полный путь для отправки POST
     
  8. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Курлы проще, но дольше выполняются, извините
     
  9. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    И не хватает полей в посте

    action=login&return_url=%2F&login=Buffalon&password=xXx&x=15&y=6

    приблизительно так
     
    _________________________
  10. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Gifts прав .А откуда ты их нарыл???Я искал не нашёл ничего ... .Gifts + , УЧУ Курлы , всем спс
     
  11. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Вот держи

    PHP:
    $handle curl_init();

    curl_setopt($handleCURLOPT_COOKIE'remixlang=0;');
    curl_setopt($handleCURLOPT_PROXY'91.196.0.75:80');
    curl_setopt($handleCURLOPT_VERBOSEfalse);
    curl_setopt($handleCURLOPT_HEADERfalse);
    curl_setopt($handleCURLOPT_RETURNTRANSFERtrue);
    curl_setopt($handleCURLOPT_REFERER'http://www.weblancer.net/');
    curl_setopt($handleCURLOPT_URL'http://www.weblancer.net/account/login/');
    curl_setopt($handleCURLOPT_USERAGENT'User-Agent: Mozilla/6.0 (Windows; U; Windows NT 6.1; ru; rv:2.9.0.4) Gecko/2009102920 Firefox/3.1.4');
    curl_setopt($handleCURLINFO_HEADER_OUTtrue);
    curl_setopt($handleCURLOPT_POSTtrue);
    curl_setopt($handleCURLOPT_POSTFIELDS'action=login&login=Buffalon&password=xXx'); 

    echo 
    $response iconv('windows-1251''UTF-8'curl_exec($handle));
    //echo $response = curl_exec($handle); // У меня просто все на UTF8

    curl_close($handle);
    Ответ сервера:
     
    1 person likes this.
  12. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Чёрт - реально проще , спс .Учу КУРЛ
     
    1 person likes this.
  13. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Можешь привести тесты или статью где это описано что медленей?
    fsockopen ты на прямую просто работаешь с сокетами, а Curl уже все сделано и не надо заморачиваться, но даже если Curl меделение fsockopen, то Curl выигрывает в том что можно использовать curl_multi
     
  14. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Учить не чего не надо, надо просто читать документацию и понимать что делаеться и как, а остальное в голове само сабой заложеться :)
     
  15. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    http://habrahabr.ru/blogs/php/42158/

    ))) Мда, чото я сегодня не в форме. Сорри

    ЗЫЖ Даже больше - когда fsockopen отключен на сайте, curl практически всегда работает. Вот это сел в лужу:) Ставьте мне минусы быро
     
    #15 Pashkela, 2 Dec 2008
    Last edited: 2 Dec 2008
    1 person likes this.
  16. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Ставить не чего не будем :)

    Но у Curla есть не большой не достаток, он заключает в том чно не может работать с патоком даных, если я правильно выразился, т.е если использовать протокол SMTP то уж тут не как не обойтись без Socket Functions
     
    1 person likes this.
  17. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    delete
     
  18. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Неа.. не правильно понял
    Там отправялеться запрос на подключение и читаем ответ и если ответ 220, то отправляем запрос приветсвия EHLO и все это идет в одном соедение.
    Вот не большой пример
    PHP:
    $socket socket_create AF_INETSOCK_STREAMSOL_TCP ) ;
            
    socket_connect $socket$domen_mx25 ) ;
            
    $tmp_soket socket_read $socket512 ) ;
            if (
    substr $tmp_soket0) !== '220') {
                return 
    false ;
            }
            
    socket_write $socket"EHLO {$domain}\n" ) ;
            
    $tmp_soket socket_read $socket512 ) ;
            if (
    substr $tmp_soket0) !== '250') {
                return 
    false ;
            }
     
  19. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    EHLO ))))
     
  20. PHPoozy

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

    Joined:
    1 Jul 2008
    Messages:
    149
    Likes Received:
    31
    Reputations:
    -22
    жошшш