Faire des requêtes http à travers un proxy SOCKS5 en NodeJS
Je prévois de faire une série de requêtes HTTP en NodeJS si Tor.
Tor utilise SOCKS5 alors je suis sorti et a cherché un moyen de proxify des requêtes HTTP en NodeJS.
J'ai l'intention de le http par défaut.demande() pour faire le travail.
Cependant, je n'arrive pas à trouver un moyen d'utiliser un proxy avec qui.
Quelqu'un a suggéré que je pourrais faire ceci:
var http = require("http");
var options = {
host: "localhost",
port: 9050,
path: "http://check.torproject.org",
method: 'GET',
headers: {
Host: "http://check.torproject.org",
}
};
var req = http.request(options, function(res) {
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
});
Mais il n'a pas de travail.
Ainsi, des suggestions?
Vous devez vous connecter pour publier un commentaire.
Je viens de publier deux modules qui devraient vous aider à le faire: socks5-http-le client et socks5-https-le client.
Juste les utiliser à la place de la valeur par défaut
http
module. L'API est la même. Par exemple:Error: connect ECONNREFUSED 127.0.0.1:1080
pour une raison quelconque, il est primordial mon port 9050 avec 1080Je sais que je vais répondre à une question aussi ancienne, mais il est une meilleure solution disponible pour cette question, sur la façon d'utiliser sock4 & sock5 proxy dans Node.js. Par souci de simplicité, je vais être à l'aide de la demande-la promesse de module, mais vous pouvez également utiliser nues demande de module.
Requrement: chaussettes-proxy-agent, demande-la promesse
Exemple:
Pas une réponse complète, mais vous pouvez garder un oeil sur ces deux modules.
https://github.com/Ayms/node-Tor
De soutien vient d'être ajouté dans: https://github.com/Ayms/node-bot.
Je lui ai envoyé un courriel demandant quand il prévu cela pour être complet, permettra de mettre à jour ce post dès que l'information.
Yo devriez essayer avec polipo, qui fonctionnent pour moi;
http://ccm.net/faq/805-installing-an-easy-http-proxy-cache-polipo
J'ai eu le même problème et utilisé polipo comme proxy entre un nœud et TOR
Pour mac (osx avec brew), il a travaillé comme ceci:
Exemple de travail avec demande
Si vous êtes sur *nix machine, vous pouvez utiliser tsocks. Il "socksify" l'ensemble du processus, de sorte que vous pouvez l'utiliser même pour tout ce qui ne supporte pas le droit de vote à tous. Cette l'article a quelques grands exemples
Fondamentalement, c'est aussi facile que de faire
tsocks node myscript.js
. Je ne suis pas sûr si cela fonctionne avectsocks npm start
mais vous pouvez l'essayer (mnp commence votre code comme un sous-processus)Tous vous avez besoin est un peu de l'installation de la première (mis
server = 127.0.0.1
àetc/tsocks.conf
)