2017-11-02 7 views
1

Ich möchte das Anfrage-Cookie während eines Tests lesen, der mit dem Puppenspieler geschrieben wurde. Aber ich habe bemerkt, dass die meisten Anfragen, die ich inspiziere, nur Referrer und User-Agent Header haben. Wenn ich mir die gleichen Anfragen in den Chrome-Entwicklungstools anschaue, haben sie viel mehr Header, einschließlich Cookie. Um es auszuprobieren, kopieren Sie den folgenden Code in https://try-puppeteer.appspot.com/.Fehlende Anforderungsheader im Puppenspieler

const browser = await puppeteer.launch(); 
const page = await browser.newPage(); 

page.on('request', function(request) { 
    console.log(JSON.stringify(request.headers, null, 2)); 
}); 

await page.goto('https://google.com/', {waitUntil: 'networkidle'}); 

await browser.close(); 

Gibt es eine Beschränkung, auf welche Header Sie zugreifen können und welche nicht? Ist es eine Einschränkung von Chrome selbst oder Puppenspieler?

Vielen Dank für Anregungen!

Antwort

0

Das ist, weil Ihr Browser eine Reihe von Kopfzeilen abhängig von Einstellungen und Funktionen setzt und auch z. die Cookies, die lokal für die spezifische Seite gespeichert wurden.

Wenn Sie weitere Header hinzufügen möchten, können Sie Methoden verwenden, wie zum Beispiel:

page.setExtraHTTPHeadersdocs here.

page.setUserAgentdocs here.

page.setCookiesdocs here.

Mit diesen können Sie die zusätzlichen Header nachzuahmen, die Sie sehen, wie Ihr Chrome-Browser versendet wird.

+0

Der Punkt war zu testen, ob der Browser Cookies in einer anderen Antwort hinzufügen kann. Wenn ich Header manuell hinzufüge, werde ich nur testen, ob ich sie manuell hinzugefügt habe) Ich kann sehen, sie hinzufügen, um Header in einem üblichen Chrome bei manuellen Tests anfragen, aber vielleicht gibt es eine Möglichkeit, kopflose Chrome auf die gleiche Weise zu verhalten? – Bardt

Verwandte Themen