我正在向网站发出获取请求,并希望从响应content-length
中获取headers
。
import rp from "request-promise";
const options = {
uri: "http://www.dadaabstories.org/",
resolveWithFullResponse: true
};
rp(options).then(res => {
console.log(res.headers);
}).catch(err => {
throw err;
});
我得到的回复没有content-length
:
服务器:“ openresty”,
日期:'2019年3月5日,星期二',
'content-type':'文本/ html; charset = UTF-8',
'transfer-encoding':'chunked',
连接:“关闭”,
不同:“接受编码,X-UA设备,接受,接受编码”,
'x-rid':'adbfe4b6b62c7a71bce234e33a6f07f5',
p3p:someData',
'x-xss-protection':'1; mode = block',
'x-content-type-options':'someData',
'x-tumblr-user':'someData',
'x-tumblr-pixel-0':'someData',
'x-tumblr-pixel-2':'someData',
'x-tumblr-pixel':'someData',
链接:“ someData”,
'x-robots-tag':'noindex,nofollow',
'x-ua-compatible':'someData',
'x-ua-device':'someDevice'
但是对于这个演示网站http://stack.imgur.com/
,我得到了content-length
。
我了解到from this 'transfer-encoding': 'chunked'
正在禁用content-length
。那我怎么能得到呢?
就像Chrome浏览器显示尺寸一样。也许不是我想要的contetn-length
响应。
答案 0 :(得分:0)
这是网站后端的一种方式。如果服务器默认情况下不包含Content-Length(通常在文件交换期间包含它),则通常HTTP协议中不可能明确询问您想要的标头。