Node.js使用socks5代理截断响应请求

时间:2013-04-03 19:19:22

标签: node.js http proxy

好的,我只是不明白。

假设我有一些node.js应用程序发出一些get / post请求。 假设我在localhost:9050也有一些socks5代理服务器。

当我使用代理卷曲网址时,一切顺利。

但是当我尝试使用http.request获取它时,使用node-socksified httpAgent将请求传递给socks代理,响应在收到第一个数据块后立即发出“end”事件。

我尝试了另一个具有相同结果的代理实现。我猜它是以某种方式与处理套接字的node.js连接,但我只是不明白我做错了什么。

有人有同样的问题吗?

我的代码看起来像这样:

var options = ...

options.agent = new SocksAgent({
    socks_host : "127.0.0.1",
    socks_port : 9050
});

var req = http.request(options, function(res) {

    res.on("data", function(chunk) {
        console.log(chunk);
    });

    res.on("end", function() {
        console.log("end");
    });
});

req.end();

1 个答案:

答案 0 :(得分:0)

此问题是由袜子代理实现未在节点0.10.x中实现对新的可读流接口的支持引起的。

我编写的两个socks v5客户端实现 - http-clienthttps-client支持旧接口和新接口,即它们同时适用于节点0.10.x和0.8.x或更低。