Я ищу способ входа на другой сайт с помощью 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 ())
Имя пользователя и пароль, указанные в примере, маскируются, но я использую правильное имя пользователя и пароль.С одним и тем же скриптом я пробовал на разных сайтах безуспешно.
Что я могу сделать?Я делаю что-то неправильно?Должен ли я использовать другой класс?
Спасибо за ответы!