簡單介紹Anyproxyhtml
Anyproxy 是alibaba 前端團隊開源的http/https 的代理工具前端
官網地址:http://anyproxy.io/cn/node
環境要求:須要安裝nodejsnpm
提供的功能:跨域
實際操做,查找制定名稱的請求瀏覽器
我使用的anyproxy@beta。緩存
安裝命令服務器
sudo npm install -g anyproxy@betacookie
啓動網絡
anyproxy
出現以下
➜ ~ anyproxy
[AnyProxy Log][2017-02-07 10:43:23]: the default rule for AnyProxy.
[AnyProxy Log][2017-02-07 10:43:23]: Anyproxy rules initialize finished, have fun!
[AnyProxy Log][2017-02-07 10:43:23]: GUI interface started at : http://172.18.6.97:8002/
[AnyProxy Log][2017-02-07 10:43:23]: Http proxy started at 172.18.6.97:8001
代理的ip爲 172.18.6.97 端口爲8001
界面地址爲http://172.18.6.97:8002/,能夠在瀏覽器打開該地址
將手機的網絡請求設置代理服務器
設置完成後,打開app進行操做
在GUI頁面中設置過濾關鍵字
能夠看到帶有pageapp的請求就被過濾出來了。
如今我打算把這些記錄導出,界面上看來沒有辦法了。咱們經過rule.js 來實現
先關閉以前的anyproxy ,按照以下命令啓動
anyproxy --rule Documents/rules/pageapp.js
pageapp.js 內容以下
var logMap = {} var fs = require('fs'); var logger = fs.createWriteStream(__dirname + '/urlLog.log', { flags: 'a' // 'a' means appending (old data will be preserved) }) function logPageFile(url) { if (!logMap[url]) { logMap[url] = true; logger.write(url + '\r\n'); } } module.exports = { summary: function() { return "查找app中的帶有pageapp的h5請求"; }, replaceResponseStatusCode: function(req, res, code) { return new Promise((resolve, reject) => { if (code == 200 && /pageapp/g.test(req.url) && res.headers['Content-Type'] == 'text/html') { logPageFile(req.url) } resolve(code); }); } }
這樣就能夠抓取到瀏覽過的h5地址了