0

わかりました、私はそれを理解していません。

get/post リクエストを行う node.js アプリケーションがあるとします。また、localhost:9050 にいくつかの socks5 プロキシ サーバーがあるとします。

プロキシでURLをカールすると、すべてうまくいきます。

しかし、ノード ソックス化された httpAgent を使用してリクエストをソックス プロキシに渡す http.request でフェッチしようとすると、データの最初のチャンクを受信した直後に応答が「終了」イベントを発行します。

同じ結果で別のエージェントの実装を試しました。ソケットを扱う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();
4

1 に答える 1

1

この問題は、ノード 0.10.x で新しい読み取り可能なストリーム インターフェイスのサポートが実装されていないソックス エージェントの実装が原因でした。

私が書いた 2 つのソックス v5 クライアント実装 - http-clienthttps-clientは、古いインターフェイスと新しいインターフェイスの両方をサポートしています。つまり、ノード 0.10.x と 0.8.x 以下の両方で動作します。

于 2013-08-30T17:53:57.730 に答える