从请求标头,节点获取内容长度

时间:2019-03-05 08:23:41

标签: javascript request-promise

我正在向网站发出获取请求,并希望从响应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响应。

Chrome dev tool

1 个答案:

答案 0 :(得分:0)

这是网站后端的一种方式。如果服务器默认情况下不包含Content-Length(通常在文件交换期间包含它),则通常HTTP协议中不可能明确询问您想要的标头。