Node.js 代理后面的nodej的简单示例
下面是一个简单的nodejs脚本,用于将node用作https客户端与外部世界进行交互。如何修改它,以便在公司代理(如Node.js 代理后面的nodej的简单示例,node.js,https,proxy,Node.js,Https,Proxy,下面是一个简单的nodejs脚本,用于将node用作https客户端与外部世界进行交互。如何修改它,以便在公司代理(如http://10.10.10.10:8080 var https = require('https'); var options = { hostname: 'encrypted.google.com', port: 443, path: '/', method: 'GET' }; var req = https.request(options, funct
http://10.10.10.10:8080
var https = require('https');
var options = {
hostname: 'encrypted.google.com',
port: 443,
path: '/',
method: 'GET'
};
var req = https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.end();
req.on('error', function(e) {
console.error(e);
});
----更新---
我找到了如何使用npm“请求”包()的方法。仍然想知道如何使用vanilla节点库实现这一点
var request = require('request').defaults({proxy:'http://my.proxy.server:8080', agent:false});
request('https://www.google.com', function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log(body) // Print the google web page.
}
})
通常,最好在系统级别处理代理—将操作系统配置为使用代理而不是脚本。但是,这也可能失败,因为大多数公司代理没有打开所有端口 一个通用的解决方案是让服务器(EC2或Rackspace实例)充当您自己的代理,并让它在端口443上侦听ssh。端口443在企业防火墙中为https打开 此时,您可以通过隧道将所有本地网络流量传输到服务器,或者通过ssh传输到服务器并在那里运行脚本
如果要使脚本特定于代理,则脚本的可移植性不会很高,也不会因代理配置更改而中断而使生产变得更硬。查看之前在SOi上询问的问题的答案,也会遇到同样的问题:(