对NodeJS和Postman的不同反应

时间:2017-03-28 08:17:09

标签: javascript node.js rest http postman

我想编写一个带有nodejs的脚本,该脚本从http://hl7.org/fhir获取一组规则。例如,当我在Postmanhttp://hl7.org/fhir/address-use)上执行此请求时,我会收到有效的JSON响应:

enter image description here

但是,当我使用由nodejs生成的下面的Postman代码时,我会得到html作为回复。

var http = require("http");

var options = {
  "method": "GET",
  "hostname": "hl7.org",
  "port": "80",
  "path": "/fhir/address-use",
  "headers": {
    "content-type": "application/json",
    "accept": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();

如果您尝试转到浏览器中的网址,则表示该网址已移至其他网页,但无论如何Postman都会获得正确的结果。我也尝试获取它移动的网址,但它也会返回html响应。

如何让我的脚本像Postman一样工作?

修改

我按照另一个问题的推荐尝试了request个包。这是代码:

var request = require("request");

var options = { method: 'GET',
  url: 'http://hl7.org:80/fhir/address-use',
  headers: 
   { 
     accept: 'application/json',
     'content-type': 'application/json' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

但结果并没有改变。它得到相同的html响应。

0 个答案:

没有答案