应用场景: 由于公司不能上外网,并且没有局域网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访问电脑能访问公司内网上的一些资料了。