【发布时间】:2018-01-19 11:13:35
【问题描述】:
我对 node.js http.request 调用有疑问。我想调用外部 api(在我的情况下为 Openstack api)。请求发送成功并且我得到了响应,但是在收到响应后我的请求没有完成。相反,它等待大约 2 分钟,然后请求结束。当从像 Postman 这样的 REST 客户端执行相同的 REST 调用时,无需等待,一切正常。
这是我的代码,当我在 /auth URL 上执行 GET 请求时调用该函数。
var options = {
host: 'someIp',
path: '/auth',
method: 'GET',
headers: {
"Host":"auth.api.someIp",
"X-Auth-User":"username",
"X-Auth-Key":"key"
}
};
var request = http.request(options, function(response){
var body = ""
response.on('data', function(data) {
body += data;
});
response.on('end', function() {
console.log('response end')
});
});
request.on('error', function(e) {
console.log('Problem with request: ' + e.message);
});
request.on('end', function() {
console.log('request end');
});
request.end();
这是控制台日志:
响应结束 GET /auth 200 120080ms
我的问题是,为什么当我使用 node.js http.request 时请求没有结束?
【问题讨论】:
-
例如向“google.com”发出请求,如果它有效,则可能是因为您未指定或无效的标头。
-
上面的我都试过了,但是一切都一样,还是等了2分钟左右……
标签: javascript node.js http