2013-10-03 2 views
29

ich PhantomJS verwende Anrufe auf eine Webseite zu machen, wie folgt aus:PhantomJS: User Agent angeben, wenn Sie einen Anruf tätigen

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

ich dies von Drupal Simpletests im Kontext verwende, die mir verlangen zu setzen ein spezielles USERAGENT, um die Testdatenbank anstelle der realen Datenbank zu verwenden. Ich möchte der Webseite einen bestimmten User-Agent holen. Zum Beispiel kann ich dies in PHP mit Curl mit CURLOPT_USERAGENT machen, bevor ich einen cUrl-Aufruf mache.

Danke!

Albert

Antwort

49

fand ich die Antwort in der useragent.js Datei in den 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

Ich kann nicht immer bin Netzwerk zuzugreifen. Ich kann über meine anderen Browser auf die Site zugreifen. Es ist intern zugängliche Site. Gibt es einige Einstellungen, die ich für den Zugriff von Phantom einrichten muss? – DoodleKana