从请求头、节点获取内容长度
get content-length from request headers, node
我正在向网站发出获取请求,并希望从响应 headers
中获取 content-length
。
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
:
server: 'openresty',
date: 'Tue, 05 Mar 2019',
'content-type': 'text/html; charset=UTF-8',
'transfer-encoding': 'chunked',
connection: 'close',
vary: 'Accept-Encoding, X-UA-Device, Accept, Accept-Encoding',
'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',
link: '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
回应。
这是网站后台的一种方式。如果服务器默认不包含 Content-Length,那么它通常在文件交换期间包含,通常在 HTTP 协议中不可能明确询问您想要的 header。
我正在向网站发出获取请求,并希望从响应 headers
中获取 content-length
。
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
:
server: 'openresty',
date: 'Tue, 05 Mar 2019',
'content-type': 'text/html; charset=UTF-8',
'transfer-encoding': 'chunked',
connection: 'close',
vary: 'Accept-Encoding, X-UA-Device, Accept, Accept-Encoding',
'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',
link: '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
回应。
这是网站后台的一种方式。如果服务器默认不包含 Content-Length,那么它通常在文件交换期间包含,通常在 HTTP 协议中不可能明确询问您想要的 header。