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

Тема в разделе "PHP", создана пользователем phillip, 9 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. phillip

    phillip

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

    Вложения:

    • RG7.7-v1b3.zip
      Размер файла:
      524,1 КБ
      Просмотров:
      7
  2. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    авторизация на depositfiles.com:
    PHP:
    //здесь авторизируемся на сайте   
    $url="http://depositfiles.com/ru/login.php?return=%2Fru%2F";   
    $ch curl_init(); 
    // cURL будет выводить подробные сообщения о всех производимых действиях
        
    curl_setopt($chCURLOPT_VERBOSE1);
        
    curl_setopt($chCURLOPT_HEADER1);   
    // url страницы для авторизации   
    curl_setopt($chCURLOPT_URL$url);   
    //вернуть результат запроса в переменную, а не на экран   
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);   
    // используем метод POST    
    curl_setopt($chCURLOPT_POST1);   
    // данные передаваемые POST запросом   
    curl_setopt($chCURLOPT_POSTFIELDS"go=1&login=******&password=******");   
    //сохранять полученные COOKIE в файл   
    curl_setopt($chCURLOPT_COOKIEJAR$_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
    // при получении HTTP заголовка "Location: " будет происходить перенаправление
    // на указанный этим заголовком URL
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
    curl_setopt($chCURLOPT_REFERER$referer);   
    //запускаем   
    $result curl_exec($ch);


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

    Dozor2

    Регистр.:
    18 дек 2007
    Сообщения:
    328
    Симпатии:
    155
    А как реализовать подобное на rapidshare.com ?
     
  4. saen

    saen

    Регистр.:
    6 авг 2006
    Сообщения:
    756
    Симпатии:
    129
    аналогичным образом, все что тебе надо знать это какие пост данные отправляются и на какой адрес
     
  5. Dozor2

    Dozor2

    Регистр.:
    18 дек 2007
    Сообщения:
    328
    Симпатии:
    155
    Агалогичным образом не получается. Я пробывал.
     
  6. Emporio

    Emporio Постоялец

    Регистр.:
    17 апр 2009
    Сообщения:
    63
    Симпатии:
    4
    просто добавить при авторизации и входе параметр
    PHP:
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
    В итоге получится вот так:
    PHP:
    //здесь авторизируемся на сайте
    $url="https://ssl.rapidshare.com/cgi-bin/collectorszone.cgi";
    $ch curl_init();
    // cURL будет выводить подробные сообщения о всех производимых действиях
        
    curl_setopt($chCURLOPT_VERBOSE1);
        
    curl_setopt($chCURLOPT_HEADER1);
    // url страницы для авторизации
    curl_setopt($chCURLOPT_URL$url);
    //вернуть результат запроса в переменную, а не на экран
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
    // используем метод POST
    curl_setopt($chCURLOPT_POST1);
    // данные передаваемые POST запросом
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
    curl_setopt($chCURLOPT_POSTFIELDS"go=1&username=*****&password=*****");
    //сохранять полученные COOKIE в файл
    curl_setopt($chCURLOPT_COOKIEJAR,  $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
    // при получении HTTP заголовка "Location: " будет происходить перенаправление
    // на указанный этим заголовком URL
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
    curl_setopt($chCURLOPT_REFERER$referer);
    //запускаем
    $result curl_exec($ch);


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

    curl_close($ch);

    echo 
    $result;

     
    phillip и Dozor2 нравится это.
  7. dron4eg

    dron4eg Создатель

    Регистр.:
    15 дек 2010
    Сообщения:
    13
    Симпатии:
    0
    а что делает строка?
    PHP:
    curl_setopt($chCURLOPT_REFERER$referer);
    Где берется переменная $referer? Заранее спасибо!
     
  8. phillip

    phillip

    Регистр.:
    4 сен 2007
    Сообщения:
    413
    Симпатии:
    15
    Теме полтора года, ты ее поднял! набор постов чтоли?

    Это элементарная вещь, найди описание функции curl_setopt. На сам топик тебе похоже насрать
     
  9. zzallexx

    zzallexx

    Регистр.:
    11 июн 2008
    Сообщения:
    1.035
    Симпатии:
    703
    CURLOPT_REFERER Указываем заголовок referer (откуда перешли)
    PHP:
    curl_setopt($chCURLOPT_REFERER'http://google.com');
    а вообще гуглю отменили что-ли :-], а $referer не откуда не берется, а задается в зависимости от необходимости
     
  10. trooll

    trooll PHP кодер

    Регистр.:
    22 дек 2008
    Сообщения:
    503
    Симпатии:
    116
    [offtop]
    Да нет говорят там народ банят последнее время :D Вот и спрашивают где попало
    [/offtop]

    P.S.: Извиняюсь за оффтоп, не сдержался.
     
Статус темы:
Закрыта.