авторизация на depositfiles.com

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

phillip

Полезный
Регистрация
4 Сен 2007
Сообщения
411
Реакции
15
Задача- залогиниться на depositfiles.com и выпарсить оттуда ссылки на закачанные мной файлы. ЧТобы получилось вида имя файла|урл. Выпарсивать я уже сам научился, спасибо нуллед. А вот как залогиниться теперь хз. Ковырялся сам с курлом, смотрел заголовки отправляемые при авторизации- не получилось ничего путнего. Нарыл скрипт rapidget в котором это все есть- но он чето такой громадный пипец, я оттуда вычленить не смог :).
Помогите, пожалуйста, сделать авторизацию на depositfiles.com или вырезать готовую из скрипта в приложении.
 

Вложения

  • RG7.7-v1b3.zip
    524,1 KB · Просмотры: 7
авторизация на depositfiles.com:
PHP:
//здесь авторизируемся на сайте   
$url="http://depositfiles.com/ru/login.php?return=%2Fru%2F";   
$ch = curl_init(); 
// cURL будет выводить подробные сообщения о всех производимых действиях
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);   
// url страницы для авторизации   
curl_setopt($ch, CURLOPT_URL, $url);   
//вернуть результат запроса в переменную, а не на экран   
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);   
// используем метод POST    
curl_setopt($ch, CURLOPT_POST, 1);   
// данные передаваемые POST запросом   
curl_setopt($ch, CURLOPT_POSTFIELDS, "go=1&login=******&password=******");   
//сохранять полученные COOKIE в файл   
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
// при получении HTTP заголовка "Location: " будет происходить перенаправление
// на указанный этим заголовком URL
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_REFERER, $referer);   
//запускаем   
$result = curl_exec($ch);


//здесь скачиваем как авторизированные пользователь страницу   
$url="http://depositfiles.com/ru/";   
//url страницы или файла для скачивания   
curl_setopt($ch, CURLOPT_URL, $url);   
//запрещаем делать запрос с помощью POST и соответственно разрешаем с помощью GET    
curl_setopt($ch, CURLOPT_POST, 0);    
//отсылаем серверу COOKIE полученные от него при авторизации   
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');//get cookie from file  
// при получении HTTP заголовка "Location: " будет происходить перенаправление
// на указанный этим заголовком URL
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_REFERER, $referer);  
//запускаем   
$result = curl_exec($ch);   
       
curl_close($ch);     
       
echo $result;

вместо ****** ставишь свой логин и пароль. $result выведет искомую страницу страницу, которую надо парсить в итоге
 
А как реализовать подобное на rapidshare.com ?
 
аналогичным образом, все что тебе надо знать это какие пост данные отправляются и на какой адрес
 
просто добавить при авторизации и входе параметр
PHP:
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
В итоге получится вот так:
PHP:
//здесь авторизируемся на сайте
$url="https://ssl.rapidshare.com/cgi-bin/collectorszone.cgi";
$ch = curl_init();
// cURL будет выводить подробные сообщения о всех производимых действиях
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
// url страницы для авторизации
curl_setopt($ch, CURLOPT_URL, $url);
//вернуть результат запроса в переменную, а не на экран
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// используем метод POST
curl_setopt($ch, CURLOPT_POST, 1);
// данные передаваемые POST запросом
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_POSTFIELDS, "go=1&username=*****&password=*****");
//сохранять полученные COOKIE в файл
curl_setopt($ch, CURLOPT_COOKIEJAR,  $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
// при получении HTTP заголовка "Location: " будет происходить перенаправление
// на указанный этим заголовком URL
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_REFERER, $referer);
//запускаем
$result = curl_exec($ch);


//здесь скачиваем как авторизированные пользователь страницу
$url="https://ssl.rapidshare.com/cgi-bin/collectorszone.cgi";
//url страницы или файла для скачивания
curl_setopt($ch, CURLOPT_URL, $url);
//запрещаем делать запрос с помощью POST и соответственно разрешаем с помощью GET
curl_setopt($ch, CURLOPT_POST, 0);
//отсылаем серверу COOKIE полученные от него при авторизации
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');//get cookie from file
// при получении HTTP заголовка "Location: " будет происходить перенаправление
// на указанный этим заголовком URL
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_REFERER, $referer);
//запускаем
$result = curl_exec($ch);

curl_close($ch);

echo $result;
 
а что делает строка?
PHP:
curl_setopt($ch, CURLOPT_REFERER, $referer);
Где берется переменная $referer? Заранее спасибо!
 
Теме полтора года, ты ее поднял! набор постов чтоли?

Это элементарная вещь, найди описание функции curl_setopt. На сам топик тебе похоже насрать
 
а что делает строка?
CURLOPT_REFERER Указываем заголовок referer (откуда перешли)
PHP:
curl_setopt($ch, CURLOPT_REFERER, 'http://google.com');
а вообще гуглю отменили что-ли :-], а $referer не откуда не берется, а задается в зависимости от необходимости
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху