您可能希望通过代理在节点应用程序和目标目标之间建立TLS加密连接.
为此,您需要发送带有目标目标主机名和端口的CONNECT请求.代理将创建到目标主机的TCP连接,然后简单地在您和目标目标之间转发包.
我强烈建议使用请求客户端.该软件包简化了发出HTTP/S请求的过程和处理.
使用实施例的代码请求的客户端:
var request = require('request'); request({ url: 'https://www.google.com', proxy: 'http://97.77.104.22:3128' }, function (error, response, body) { if (error) { console.log(error); } else { console.log(response); } });
不使用外部依赖项的示例代码:
var http = require('http'), tls = require('tls'); var req = http.request({ host: '97.77.104.22', port: 3128, method: 'CONNECT', path: 'twitter.com:443' }); req.on('connect', function (res, socket, head) { var tlsConnection = tls.connect({ host: 'twitter.com', socket: socket }, function () { tlsConnection.write('GET / HTTP/1.1\r\nHost: twitter.com\r\n\r\n'); }); tlsConnection.on('data', function (data) { console.log(data.toString()); }); }); req.end();