@MickeyWang
2018-01-26T10:01:55.000000Z
字数 1975
阅读 1210
forJD tools
@王琪(wangqi65)
目录:
本文是一篇配置教程。适用于在京东app中的webview环境中测试待上线的H5应用。Powered by 冯旭东(fengxudong1)。
需要用到的软件物料地址如下:
按照上述,下载Charles,并进行科学配置。如若PC或Mac及移动设备已处于同一wifi环境,可忽略安装360免费WIFI。
如果你还对Charles不是很熟悉,这里提供一篇完备详尽的Charles 从入门到精通,在时间充裕的情况下请参考查阅。下面对主要配置及接入京东app的调试步骤做以说明。
正常安装Charles后便可截获本机Http封包,如若需要过滤请求方便查看,请移步Charles 从入门到精通查看。为截获移动设备封包,在 Charles 的菜单栏上选择 “Proxy”->”Proxy Settings”,填入代理端口 8888,并且勾上 “Enable transparent HTTP proxying” 就完成了在 Charles 上的设置。
此处以iPhone为例做介绍。首先我们需要获取 Charles 运行所在电脑的 IP 地址,Charles 的顶部菜单的 “Help”->”Local IP Address”,即可在弹出的对话框中看到 IP 地址,如下图所示:
在 iPhone 的 “ 设置 “->” 无线局域网 “ 中,可以看到当前连接的 wifi 名,通过点击右边的详情键,可以看到当前连接上的 wifi 的详细信息,包括 IP 地址,子网掩码等信息。在其最底部有「HTTP 代理」一项,我们将其切换成手动,然后填上 Charles 运行所在的电脑的 IP,以及端口号 8888。
设置好之后,我们打开 iPhone 上的任意需要网络通讯的程序,就可以看到 Charles 弹出 iPhone 请求连接的确认菜单,点击 “Allow” 即可完成设置。
点击 Charles 的顶部菜单,选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,顺序执行安装。
如果我们需要在 iOS 或 Android 机器上截取 Https 协议的通讯内容,还需要在手机上安装相应的证书。点击 Charles 的顶部菜单,选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 弹出的简单的安装教程。如下图所示:
如图显示,浏览器访问chls.pro/ssl,顺序执行安装。注意此时移动设备一定已安装前述步骤做过代理配置。
针对app的配置,总的思路是截获http://api.m.jd.com/client.action?functionId=appCenter的封包,然后利用Charles的Map或Rewrite功能改写响应报文以展示想要配置的icon。
SSL Proxying:Enable;http请求;.json;修改其中一项的name和url;
{"id": 126,"icon": "https://m.360buyimg.com/mobilecms/s80x80_jfs/t5830/118/179491490/8188/42c7ec47/591dab29N24f970a9.png","slogan": "","order": 4,"name": "酒店试用",// 已改为自定义"appCode": "jdsy","jump": {"des": "m","params": {"needLogin": "0","url": "http://trip.hotel.m.jd.com/"// 已改为自定义},"srv": "4_京东试用_购京东_126_jdsy_-100"}}
右击上图3,选择Map Local,关联上步中的json文件,如下图;
如若有任何问题,请咚咚联系以获取支持,谢谢。