[英]How to use Chrome's declarativeWebRequest for changing http response headers
[英]How to get a website's HTTP response headers with Node
我整天都在寻找这个。 我想要的是使用Node JS获得http响应标头以及给定网站的状态代码 。 这么简单。
对于这个简单的问题,我检查的所有答案和文档似乎都过于复杂,而且我似乎无法使它们正常工作。
例如,一个答案为我提供了此代码
const https = require('https')
const options = {
hostname: 'google.com'
}
const req = https.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', (d) => {
process.stdout.write(d)
})
})
req.on('error', (error) => {
console.error(error)
})
req.end()
用google尝试后,显示给我的响应代码是301,这显然是错误的
对于该示例,我认为正确的代码应为“ 200”。 另外,这个不显示所有标题。
您可以看到,如果我对google.com
进行了网址访问,则会收到301,重定向
这是因为google.com
将我重定向到www.google.com
。 但是,如果我cURL www.google.com
,它会给我这个响应,
这是网页。 至于标题,根据https模块文档 (显示以下示例),它们应位于res.headers
const https = require('https');
https.get('https://encrypted.google.com/', (res) => {
console.log('statusCode:', res.statusCode);
console.log('headers:', res.headers);
res.on('data', (d) => {
process.stdout.write(d);
});
}).on('error', (e) => {
console.error(e);
});
如您所见,它们使用console.log('headers:', res.headers);
打印标题console.log('headers:', res.headers);
。 您可以使用res.headers['INSERT-HEADER-NAME-HERE']
访问给定的标头,其中INSERT-HEADER-NAME-HERE被替换为您要使用的标头
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.