从http响应获取原始URL

时间:2020-11-12 14:08:16

标签: javascript node.js promise

我有此功能,可读取包含URL列表的csv文件。 对于每一行,我都会对当前网址执行get请求以读取响应标头。

function readCSV(csv) {
  var lines = csv.split("\n");
  var table = lines.map((line) => line.split(","));
  var requests = table.map((row) =>
    request({
      method: "GET",
      uri: "https://www." + row[1],
      resolveWithFullResponse: true,
    })
    .catch((err) => null) // Errors are ignored and resolved as `null`
  );

  return Promise.all(requests)
    .then((responses) => {
    
      responses.forEach((response) => {
        if(response === null) return; // If the response is null, skip it

        // ... handle successful responses here
        var hrds = response.headers;
        //console.log(hrds.url)
        console.log(hrds['content-security-policy'])
        console.log(hrds['x-frame-options'])

      });
    })
    .catch((err) => console.log(err));
}

我想执行以下操作:console.log(hrds.url)来查看向我发送响应的URL。如果我尝试打印hrds.url,它将给我未定义的信息。

编辑: 我尝试过response.url,但它会打印空白行

1 个答案:

答案 0 :(得分:0)

根据MDN docs,您可以从响应本身获取URL。

response.url
相关问题