我想编写一个带有nodejs
的脚本,该脚本从http://hl7.org/fhir
获取一组规则。例如,当我在Postman
(http://hl7.org/fhir/address-use)上执行此请求时,我会收到有效的JSON
响应:
但是,当我使用由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
响应。