應用場景: 由於公司不能上外網,並且沒有局域網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訪問電腦能訪問公司內網上的一些資料了。