简单介绍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地址了