node.js - 当nodejs-request获取但在浏览器或curl中工作时没有主体内容

标签 node.js node-request

请求没有获取标题为“content-length: 0”的正文内容。

资源:https://www.doe.gov.taipei/OpenData.aspx?SN=8A3B3293C269E096

这是一个RSS链接,在浏览器和curl中运行良好。 在linux上进行curl测试,wget也可以工作。

这是简单的代码:

const req = require('request');
req.get({
  url: 'https://www.doe.gov.taipei/OpenData.aspx?SN=8A3B3293C269E096',
  rejectUnauthorized: false
}, (err, res, body) => {
  console.log(res)
});

在线模拟器测试得到相同的结果 https://repl.it/repls/ScalyAquamarineObjectpool

我认为它应该是一个text/xml内容,而不是空的。

回复:

{
statusCode: 200,
  body: '',
  headers:
   { 'cache-control': 'private,No-cache',
     'set-cookie':
      [ 'ASP.NET_SessionId=kzdhyxq2grttp5awwpqzxyen; path=/; secure; HttpOnly' ],
     'x-frame-options': 'SAMEORIGIN',
     'strict-transport-security': 'max-age=0',
     'x-xss-protection': '1; mode=block',
     'x-content-type-options': 'nosniff',
     'content-security-policy':
      'frame-ancestors \'self\' https://www-mgr.gov.taipei http://www-mgr.gov.taipei',
     date: 'Wed, 03 Apr 2019 06:44:47 GMT',
     connection: 'close',
     'content-length': '0' },
  request:
   { uri:
      Url {
        protocol: 'https:',
        slashes: true,
        auth: null,
        host: 'www.doe.gov.taipei',
        port: 443,
        hostname: 'www.doe.gov.taipei',
        hash: null,
        search: '?SN=8A3B3293C269E096',
        query: 'SN=8A3B3293C269E096',
        pathname: '/OpenData.aspx',
        path: '/OpenData.aspx?SN=8A3B3293C269E096',
        href:
         'https://www.doe.gov.taipei/OpenData.aspx?SN=8A3B3293C269E096' },
     method: 'GET',
     headers: {} }
}

最佳答案

您的回调函数的签名错误。在 Node.JS 中,回调的第一个参数通常是(可选)错误对象。

试试这个:

const req = require('request');
req.get({
  url: 'https://www.doe.gov.taipei/OpenData.aspx?SN=8A3B3293C269E096',
  rejectUnauthorized: false
}, (err, res, body) => {
  console.log(res)
});

关于node.js - 当nodejs-request获取但在浏览器或curl中工作时没有主体内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55488039/

相关文章:

node.js - 从 Azure Blob 存储下载文件的示例

javascript - 如何使用nodejs请求库从客户端检测服务器关闭的连接

node.js - 如何避免与 ORACLEDB 的连接中断? Nodejs

javascript - 如何在 javascript 中获取所有计时器?

用于流处理图像的 Node.js 库

javascript - 如何在 node.js express 中访问我的公用文件夹中的文件

javascript - 使用请求模块下载文件并将结果传递给meteor.js 中的响应

json - 如何通过 Node 请求从另一个域获取json文件?

node.js - 如何使用node.js httpRequest连接到dashdb

node.js - ParseServer 删除状态为 "Unregistered"的安装