我要连接的WEB服务器
我有一个在专用网络中运行的Web服务。该服务器是一项Web服务,如果在浏览器中设置了袜子代理,则可以在浏览器中正常工作。
我的服务
我需要机器上的node.js服务器才能使用socks代理连接并调用Web服务器
我的用例
我需要发布对xml数据的请求以及一些获取请求。
我的问题
我的应用程序无法连接到位于袜子代理后面的服务器。我不想为节点或其他任何内容设置全局代理,而仅为应用程序的一部分设置。
更新:工作解决方案
虽然答案是正确的,但我将在此处包括最终的工作解决方案,以供参考,因为它需要对github上的示例进行一些修改
var shttp = require('socks5-http-client');
var options = {} ;
options.host = 'ip.of.web.service';
options.port = 1919; //port of webservice
options.path = '/control/getjson'; //path on webservice to get
options.socksPort = 8778; //socks proxy port
options.socksHost = 'ip.of.socks.proxy';
var req = shttp.get(options, function (res) {
res.setEncoding('utf8');
res.on('readable', function () {
callback(res); //send response to my function for further processing.
});
});
内置的http客户端对象本身不支持使用socks代理。
以下2个库使通过socks代理轻松连接到http端点成为可能。试一试
使用socks5-http-client连接到http端点使用socks5-https-client连接到https端点
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句