PHP Войти на сайт и получить исходный код сайта - PullRequest
0 голосов
/ 09 августа 2011

Я ищу способ входа на другой сайт с помощью PHP.

Я попробовал этот скрипт: http://scripts.incutio.com/httpclient/examples.php

Я использую следующий код:

$client = new HttpClient('si.press.viasat.tv');
$client->setUserAgent("Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0");
$client->setDebug(true);

$client->post("/press/cm/1.167?cc=si&lc=si", array("loginEmail" => "username", "password" => "password",
                                                "signonForwardAction" => "/press/cm/si.press.viasat.tv?cc=si&lc=si"));

if (!$client->get(parse_getLink_viasat($date, $channel_name))) {
    die('An error occurred: '.$client->getError());
}
$htmlData = $client->getContent();

И вывод отладки:

HttpClient Debug: Request
POST /press/cm/1.167?cc=si&lc=si HTTP/1.0
Host: si.press.viasat.tv
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-encoding: gzip, deflate
Accept-language: en-us,en;q=0.5
Content-Type: application/x-www-form-urlencoded
Content-Length: 119

loginEmail=username&password=password&signonForwardAction=%2Fpress%2Fcm%2Fsi.press.viasat.tv%3Fcc%3Dsi%26lc%3Dsi
HttpClient Debug: HTTP/1.1 200 OK
HttpClient Debug: Received Headers
Array
(
    [server] => nginx
    [date] => Tue, 09 Aug 2011 09:07:45 GMT
    [content-type] => text/html;charset=UTF-8
    [connection] => close
    [pragma] => No-cache
    [expires] => Thu, 01 Jan 1970 00:00:00 GMT
    [cache-control] => Array
        (
            [0] => no-cache
            [1] => no-store
        )

    [content-language] => en-US
)
HttpClient Debug: Persisting referer: http://si.press.viasat.tv/press/cm/1.167?cc=si&lc=si
HttpClient Debug: Request
GET /press/cm/2.972/2.990/1.704788?caller=2.990&cc=SI&lc=si&channel=TV1000&week=2011-32&weekday=1 HTTP/1.0
Host: si.press.viasat.tv
User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-encoding: gzip, deflate
Accept-language: en-us,en;q=0.5
Referer: http://si.press.viasat.tv/press/cm/1.167?cc=si&lc=si
Content-Type: application/x-www-form-urlencoded
Content-Length: 119

loginEmail=username&password=password&signonForwardAction=%2Fpress%2Fcm%2Fsi.press.viasat.tv%3Fcc%3Dsi%26lc%3Dsi
HttpClient Debug: HTTP/1.1 200 OK
HttpClient Debug: Received Headers
Array
(
    [server] => nginx
    [date] => Tue, 09 Aug 2011 09:07:46 GMT
    [content-type] => text/html;charset=UTF-8
    [connection] => close
    [set-cookie] => JSESSIONID=A49338DF7395BEE2FDC92ACE87994809; Path=/press
    [content-language] => en-US
)
HttpClient Debug: Persisting referer: http://si.press.viasat.tv/press/cm/2.972/2.990/1.704788?caller=2.990&cc=SI&lc=si&channel=TV1000&week=2011-32&weekday=1

EveryКогда я пытаюсь получить доступ к заблокированному сайту, я снова получаю форму входа в систему ($ client-> getContent ())

Имя пользователя и пароль, указанные в примере, маскируются, но я использую правильное имя пользователя и пароль.С одним и тем же скриптом я пробовал на разных сайтах безуспешно.

Что я могу сделать?Я делаю что-то неправильно?Должен ли я использовать другой класс?

Спасибо за ответы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...