Скрипт, который выполняет авторизацию на стороннем сайте.

Статус
В этой теме нельзя размещать новые ответы.

whitelex

Постоялец
Регистрация
5 Апр 2008
Сообщения
59
Реакции
3
Хочу доработать парсер, для этого нужно его научить авторизваться на другом сайте и читать скрырый текст. Есть едеи как это сделать?
 
curl тебе в помощь
 
это не ответ, думаешь я прежде, чем задать не обрыл весь инет? :D

находил готовые решения, но ничего не работало... показывало пустой экран или ту же страницу для авторизации. Несколько дней на это затратил так ничего и не получилось! :(
 
Пример используемого кода в студию.
 
cookies-ы пробовали использовать?
если да, то покажите сайт, и ваш код.
телепаты в отпуске
CURL+cookies работает для большинства авторизаций
 
Хочу доработать парсер, для этого нужно его научить авторизваться на другом сайте и читать скрырый текст. Есть едеи как это сделать?

Ставишь какой нить плагин, который тебе читает хедеры, для firefox например live http header или tamper data.
Заходишь на сайт на котором тебе надо авторизоваться, включаешь плагин. Авторизуешся, смотришь что передается серверу.
Будет что то типа такого, к примеру /POST login=vasya&pass=q1w2e3&submit=ok

Копируешь эту строчку в переменную:
PHP:
$fields_string = 'login=vasya&pass=q1w2e3&submit=ok';

$ch = curl_init();
curl_setopt_array( $ch, $options );
curl_setopt($ch,CURLOPT_URL,'http://site.ru');
curl_setopt($ch,CURLOPT_POST,count(explode('&',$fields)));	curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
curl_setopt($ch,CURLOPT_COOKIEJAR, $kfName); 
curl_setopt($ch,CURLOPT_COOKIEFILE, $kfName); 
$result = curl_exec($ch);
В принципе все, после этого у тебя должны в файле сохранится кукисы. Далее через curl считываешь нужные тебе страницы, кукис с авторизацией автоматически передается.
Единственно надо посмотреть насчет $options для curl, настройки можно попробовать такие:
PHP:
$options = array(
        CURLOPT_RETURNTRANSFER => true,  
        CURLOPT_HEADER         => true,   
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_USERAGENT      => "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7 FirePHP/0.3",
        CURLOPT_AUTOREFERER    => true,     
        CURLOPT_CONNECTTIMEOUT => 120,      
        CURLOPT_TIMEOUT        => 120,   
        CURLOPT_MAXREDIRS      => 10,
    );
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху