2013-10-03 2 views
29

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

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

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

Спасибо!

Альберт

ответ

49

Я нашел ответ в файле useragent.js в phantomjs examples directory:

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(); 
}); 
+0

Я получаю Невозможно получить доступ к сети. Я могу получить доступ к сайту через другие браузеры. Это внутренне доступный сайт. Есть ли какие-то настройки, которые мне нужно настроить для доступа с Phantom. – DoodleKana

Смежные вопросы