как обойти ответ 302 при парсинге

Тема в разделе "PHP", создана пользователем Diverse, 31 окт 2009.

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

    Diverse

    Регистр.:
    4 дек 2008
    Сообщения:
    232
    Симпатии:
    36
    Подскажите как обходятся 302 ответы сервера?

    Например
    http://dom2.ru/community/hero-blog
    Делает 302 редирект и возвращается по тому же урлу

    Как можно парсить такие ресурсы?

    Пользую класс Snoopy

    PHP:
        $snoopy = new Snoopy;
        
    $snoopy->referer "http://google.com/";
        
    $snoopy->agent "(compatible; MSIE 6.01; MSN 2.5; AOL 4.0; Windows Server 2003)";
        
    $snoopy->cookies["SessionID"] = rand(122220000,2147483647);
        
    $snoopy->rawheaders["Pragma"] = "no-cache";
        
    $snoopy->maxredirs 3;
        
    $snoopy->offsiteok false;
        
    $snoopy->expandlinks false;

        
    $snoopy->fetch($index_url);
    PHP:
    $snoopy->status
    отдает 302

    почему не срабатывает
    PHP:
    $snoopy->maxredirs 3;
    или тут что-то другое?
     
  2. Diverse

    Diverse

    Регистр.:
    4 дек 2008
    Сообщения:
    232
    Симпатии:
    36
    люди... =)
    ну хоть какие-то мысли может есть?
    или такие ресурсы нельзя парсить с помощью curl?
     
  3. Sanuch

    Sanuch

    Регистр.:
    25 май 2009
    Сообщения:
    207
    Симпатии:
    70
    или используйте другой класс, или пилите данный, так как он не отрабатывает перенаправления с http на https, необходима настройка параметров самого класса, в частности curl_path и, возможно, это еще не все ...
     
  4. Crazy108

    Crazy108 Создатель

    Регистр.:
    6 сен 2008
    Сообщения:
    45
    Симпатии:
    7
    Возмодны два варинта
    1) то, где запускается скрипт с вызовом класса, запрещено/не разрешено/не настроено работа с протоколом https
    2) следите за куками, после редиректа с https страницы на первоначальную страницу запроса. там ставится кука
    Set-Cookie JSESSIONID=p1jjkf2o6g95;Path=/

    второй вариант проще всего решается настройками curl. первый вариант сложнее, но не критично
     
  5. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    Попробуй пихнуть в запрос реферер где значение будет этот адрес. Оно должно схавать.
     
  6. Diverse

    Diverse

    Регистр.:
    4 дек 2008
    Сообщения:
    232
    Симпатии:
    36
    phpinfo говорит

    curl с поддержкой ssl... настроить? что имеется ввиду?

    куку вижу, но в моем случае редиректа не происходит и соответственно ничего не ставится... я так понимаю достаточно хоть раз получить куку, но как сделать так что бы произошел редирект и она поставилась?

    пробовал... не оно
     
  7. Sanuch

    Sanuch

    Регистр.:
    25 май 2009
    Сообщения:
    207
    Симпатии:
    70
    говорим только о пхп скриптах, никаких настроек самого пхп.
    Классе "Snoopy" не позволяет, покрайней мере та версия, что я видел, не отрабатывает редирект с http на https, так как это не предусмотренно в регулярном выражении в самом классе, поэтому я и написал или правьте и доводите до ума этот класс, или пробуйте какой-либо другой
     
    Diverse нравится это.
Статус темы:
Закрыта.