gpt4 book ai didi

javascript - 响应 header 中不包含“Set-Cookie”

转载 作者:行者123 更新时间:2023-12-02 21:54:35 24 4
gpt4 key购买 nike

我尝试从 http 响应中获取 set-cookie header ,但大多数请求都没有显示该 header 。

https://www.southwest.com/为例,可以看到https://bs.serving-sys.com/Serving/ActivityServer.bs?cn=as&ActivityID=1345510&rnd=459203.51759912557&fare%20class =[票价%20舱位]&business%20or%20leisure=[business%20or%20leisure]&number%20of%20passengers=[number%20of%20passengers]&date=[日期]&destination=[目的地] &origination=[origination] 设置 3 个 cookie: enter image description here

puppeteer 师代码:

const puppeteer = require('puppeteer');

async function getResponseCookies() {
function handleResponse(response) {
const url = response.url();
const headers = response.headers();
const status = response.status()

if(url.includes('https://bs.serving-sys.com/Serving/ActivityServer.bs')) {
console.log('RESPONSE URL ', url)
console.log('RESPONSE HEADERS ', headers)
console.log('RESPONSE STATUS ', status)
}
}

const browser = await puppeteer.launch({
ignoreDefaultArgs: ["--enable-automation"],
executablePath: "/usr/bin/google-chrome",
headless: true,
ignoreHTTPSErrors: true,
});

const page = await browser.newPage();

await page.setUserAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36");

await page.on('response', async(response) => {
await handleResponse(response);
})

const urls = ['https://www.southwest.com'];

for(let url of urls) {
await page.goto(url, { timeout: 0, waitUntil: 'networkidle0' });
}
await browser.close();
}

getResponseCookies();

上面的代码执行输出以下日志,响应中没有任何“set-cookie” header :

RESPONSE URL  https://bs.serving-sys.com/Serving/ActivityServer.bs?cn=as&ActivityID=1345510&rnd=68456.37277058625&fare%20class=[fare%20class]&business%20or%20leisure=[business%20or%20leisure]&number%20of%20passengers=[number%20of%20passengers]&date=[date]&destination=[destination]&origination=[origination]
RESPONSE HEADERS { pragma: 'no-cache',
date: 'Mon, 03 Feb 2020 10:30:16 GMT',
'content-encoding': 'gzip',
server: 'Microsoft-IIS/7.5',
'x-powered-by': 'ASP.NET',
p3p: 'CP="NOI DEVa OUR BUS UNI"',
'access-control-allow-origin': '*',
'cache-control': 'no-cache, no-store',
'content-type': 'text/html; charset=UTF-8',
'content-length': '616',
expires: 'Sun, 05-Jun-2005 22:00:00 GMT' }

知道为什么响应中缺少 Set-Cookie header 吗?

*请注意,使用 CDP 中的 Network.getAllCookies 时会返回这些 cookie

最佳答案

根据https://github.com/puppeteer/puppeteer/issues/4918 ,看起来 puppeteer 没有监听包含原始 header 的 Network.responseReceivedExtraInfo 事件。听那个事件对我来说很有帮助。

关于javascript - 响应 header 中不包含“Set-Cookie”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60037606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com