Подтвердить что ты не робот

PhantomJS: указать User Agent при вызове

Я использую PhantomJS для совершения вызовов на веб-страницу, например:

page.open('http://example.com', function (s) {
  console.log(page.content);
  phantom.exit();
});

Я использую это в контексте Drupal Simpletests, которые требуют от меня установить специальный USERAGENT, чтобы использовать тестовую базу данных вместо реальной базы данных. Я хотел бы получить веб-страницу определенного агента пользователя. Например, в PHP с помощью Curl я могу сделать это с помощью CURLOPT_USERAGENT перед вызовом cUrl.

Спасибо!

Альберт

4b9b3361

Ответ 1

Я нашел ответ в файле useragent.js в каталоге примеров phantomjs:

var page = require('webpage').create();
console.log('The default user agent is ' + page.settings.userAgent);
page.settings.userAgent = 'SpecialAgent';
page.open('http://www.httpuseragent.org', function (status) {
    if (status !== 'success') {
        console.log('Unable to access network');
    } else {
        var ua = page.evaluate(function () {
            return document.getElementById('myagent').innerText;
        });
        console.log(ua);
    }
    phantom.exit();
});