PhantomJS:拨打电话时指定用户代理

时间:2013-10-03 12:27:27

标签: phantomjs

我正在使用PhantomJS来调用网页,如下所示:

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

我在Drupal Simpletests的上下文中使用它,它要求我设置一个特殊的USERAGENT以便使用测试数据库而不是真正的数据库。我想获取特定用户代理的网页。例如,在使用Curl的PHP中,我可以在进行cUrl调用之前使用CURLOPT_USERAGENT执行此操作。

谢谢!

阿尔伯特

1 个答案:

答案 0 :(得分:51)

我在phantomjs useragent.jsexamples 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();
});