[英]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.