gpt4 book ai didi

javascript - q-io/http.request 上的 ETIMEDOUT

转载 作者:可可西里 更新时间:2023-11-01 16:33:33 26 4
gpt4 key购买 nike

使用 q-io/http 拉入网页失败。我想我一定遗漏了一些明显的东西 - 因为我认为这是一个非常直接的例子。

编辑:windows 8, Node 11.13

var http = require('q-io/http')

var url = 'http://www.google.com' ;
http.request({
method: 'GET',
uri: url
}).
then(function (response) {
console.log(response)
}).
fail(function (err) {
console.error(err)
});

这是输出:

{ state: 'pending' }
> { [Error: connect ETIMEDOUT]
stack: 'Error: connect ETIMEDOUT\n at exports._errnoException (util.js:742:11)\n at Object.afterConnect [as oncomplete] (net.js:989:19)',
code: 'ETIMEDOUT',
errno: 'ETIMEDOUT',
syscall: 'connect' }

这与副本略有不同。 q-io/http 将在您阅读正文后关闭请求。阅读正文在这里看起来很重要。

最佳答案

把代码改成这样:

var http = require('q-io/http')

var url = 'http://www.google.com' ;

results = qHttp.request({ url: url }).then(function(res){
return res.body.read().then(function(bodyStream){
var body = bodyStream.toString('UTF-8')
return body
})
})

访问响应主体看起来可以解决问题,我的假设是流在 q-io/http 的范围内关闭(它包装了 Node/http 库)。我花了一些时间跟踪代码 - 但找不到 .end()

的确切路径

关于javascript - q-io/http.request 上的 ETIMEDOUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25917711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com