Авторизация с пом. curl в ЯВебмастере

L
На сайте с 17.05.2013
Offline
88
2521

Хочу чекать сайты на предмет не заражены ли они вирусами.. Нашел в сети две функции для аторизации на ЯНдексе, но почему-то не работает - белый экран.

Подскажите что не так в скрипте.

<?php 

ini_set("display_errors", 1);
ini_set('error_reporting', E_ALL);
$url = "http://passport.yandex.ru/passport?mode=auth"; //УРЛ, куда отправлять данные

/*
Переменные, которые мы будет отправлять Яндексу в виде POST запроса:
*/
$login = 'mylogin'; //Логин
$passwd = 'mypass'; //Пароль
$user_cookie_file = $_SERVER***91;'DOCUMENT_ROOT'***93;.'/cookies.txt'; //Полный путь до файла, где будем хранить куки
$idkey = '0EN13471777512SYYmjWcm'; //Хрен знает что
$retpath = 'http://webmaster.yandex.ru'; //Откуда мы пришли на страницу авторизации
$timestamp = ''; //Хрен знает что
$twoweeks = 'yes'; //Две недели какие-то
$In = 'Войти'; //Кнопка входа

auth($url); // Авторизируемся.
echo browser('http://webmaster.yandex.ua/site/virused.xml?host=12345'); //Безпрепятственно выводим заветную инфу

function auth($url) {
global $user_cookie_file, $idkey, $retpath, $timestamp, $login, $passwd, $twoweeks, $In; // Получаем все POST данные
/*
Небольшая прелюдия с инифиализацией cURL и прочей шулухой
*/
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Куки раз
curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); //Куки два
curl_setopt($ch, CURLOPT_POST,1); //Будем отправлять POST запрос
/*
Формируем и отправляем тот самый POST запрос.
Как видите, это простая строка, мало чем отличающаяся от GET.
*/
curl_setopt($ch, CURLOPT_POSTFIELDS,"idkey=$idkey&retpath=$retpath&timestamp=$timestamp&login=$login&passwd=$passwd&twoweeks=$twoweeks&In=$In&display=page");
$html = curl_exec($ch);
curl_close($ch);
return $html; //Возвращаем ответ Яндекса
}
function browser($url) {
$user_cookie_file = $_SERVER***91;'DOCUMENT_ROOT'***93;.'/cookies.txt'; //Получаем сохраненный после авторизации файл с куками.
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file); //Подставляем куки раз
curl_setopt($ch, CURLOPT_COOKIEJAR, $user_cookie_file); //Подставляем куки два
$html = curl_exec($ch);
curl_close($ch);
return $html; //Возвращаем ответ
}
?>
TF-Studio
На сайте с 17.08.2010
Offline
334
#1

эм....

есть api для этого.

всё в разы проще как бэ.

Как вариант... но можно и у них напрямую

Всё ещё лучший способ заработка для белых сайтов: GoGetLinks (https://www.gogetlinks.net/?inv=fahbn8).
R
На сайте с 18.12.2009
Offline
92
#2

Как раз сегодня тема на хабре была

http://habrahabr.ru/company/yandex/blog/231495/

P
На сайте с 25.05.2007
Offline
103
#3

В скрипте и в функции авторизации и в функции скачивания не хватает строки:

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

coolakov.ru/tools (http://coolakov.ru/tools/): определение конкурентов (http://coolakov.ru/tools/most_promoted/), кластеризация запросов (http://coolakov.ru/tools/razbivka/) и т.д.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий