如何用nodejs创建一个proxy 服务?

应用场景: 由于公司不能上外网,并且没有局域网wifi,所以要在自己的mac机上搭一个proxy然后通过android adb 命令做端口映射。

android 机的数据流向:

手机-》电脑,电脑通过proxy server匹配到指定的server. 收到请求后按照相反路线传递数据

编码实现:

1、创建一个nodejs 项目,在项目目录中添加一个index.js文件, 添加依赖包 http-proxy: npm install http-proxy;

2、在index.js中编写代码:

var httpProxy = require("http-proxy");

var http = require("http");//创建一个本地server

var proxyServer = httpProxy.createProxyServer({})//eg:https://www.baidu.com

var server = http.createServer(function(req,res){

//在这里可以做日志打印,方便看请求内容

proxyServer.web(req,res,{target:"http://the.url.you.want.to.access"});//代理设置

})

server.listen(8080);

然后 node index.js 就可以使电脑上对8080端口http网络的请求映射到目标网络了

3、

执行 adb reverse tcp: 8080 tcp:8080,使android手机上的端口映射到电脑.

以上几步简单操作就可以实现手机通过usb访问电脑能访问公司内网上的一些资料了。