phantomjs грузит страницы фейсбука с кучей ошибок ★

Discussion in 'PHP' started by Дикс, 21 Mar 2013.

  1. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    Помогите разобраться с этой бедой. Проблема появляется рандомно - то есть то нет, но чаще есть.

    Открываем страницу:

    page.open('http://www.facebook.com/любая_страница', function(status){ .... });

    И в логе видим:

    http://pastebin.com/aeDWxPHk

    словно где-то что-то не догрузилось
    status может быть как success так и fail
    повторное открытие ничего не решает, хоть зацикли это.

    Пробовал отключить gzip
    page.customHeaders = {
    'Accept-Encoding': 'identity'
    };

    что ещё сделать - ума не приложу

    Добавил логирование загружаемых ресурсов:

    page.onResourceRequested = function (request) {
    console.log('Resource request: ' + request.url);
    };

    При удачной хагрузке фантом грузит массу css и js-скриптов:
    http://pastebin.com/FSiNv7tv

    При неудачной в логе сообщается лишь о загрузке первых 5-ти из них. Отсюда и все js-ошибки.
     
    #1 Дикс, 21 Mar 2013
    Last edited: 21 Mar 2013
  2. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    в общем, проблема найдена - виной всему установка юзер-агента.

    если ставить свой юзер-агент (через page.settings.userAgent или page.customHeaders) - ресурсы фейсбука почти всегда подгружаются лишь частичною

    если НЕ ставить юзер-агент - все работает отлично и всегда.