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

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

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

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

谢谢!

阿尔伯特

最佳答案

我在phantomjs示例目录的useragent.js文件中找到了答案:

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

    公众号
    关注公众号订阅更多技术干货!