使用Charles抓包获取API
在进行程序的开发之前,我们需要获得物流唐山APP的API,在这里我推荐大家使用Charles抓取数据包获得API。以下是Charles说明:
Charles 是在 Mac 下常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。
Charles 主要的功能包括:
1.截取 Http 和 Https 网络封包。
2.支持重发网络请求,方便后端调试。
3.支持修改网络请求参数。
4.支持网络请求的截获并动态修改。
5.支持模拟慢速网络。
接下来就是我讲介绍Charles的使用,首先,下载安装Charles,打开Charles,如下图所示进行设置:
在此填入代理端口,如8888,点击ok。
然后:
打开设置—>网络,获得本机ip地址192.168.1.103
接下来就是使用iPhone进行设置,首先保证手机与电脑在同一个局域网,点击连接的WIFI,在HTTP代理选项点击手动,输入电脑的ip地址以及我们设置的代理端口8888
使用Safari随便打开一个网页,发现Charles已经可以使用了。
接下来打开物流唐山APP,可以看到数据包已经被抓取到了
接下来就是查看每个请求的Request和Response,在这里我们可以看到GetMapPoint(首页地图API)请求使用GET方法。
Request参数,mMapx,mMapY,mtype。
Response返回结果:json数据,字典数组。
以下是我抓取的API列表:
- #define TSLAPI_PREFIX @"http://www.560315.com/MobileAPI/"
- #define TSLAPI_UPDATE @"versionIOS" //更新
- #define TSLAPI_MAP @"getMapPoint" //地图
- #define TSLAPI_SHARE @"shareList" //分享
- #define TSLAPI_LOGIN @"Login" //登录
- #define TSLAPI_REGISTER @"SaveUser" //注册
- #define TSLAPI_SAVEPWD @"SavePwd" //修改密码
- #define TSLAPI_RECOMMEND @"InformationRecommend" //热点关注
- #define TSLAPI_GoodsSource @"WlGoodsSourceInfoList" //货源
- #define TSLAPI_VehicleSource @"SearchWlVehicleSourceInfo" //车源
- #define TSLAPI_Warehouse @"WarehouseList" //库源
- // 第1列
- #define TSLAPI_DistributionStation @"DistributionStationList" //配货站
- // 找加油站 SearchUserInfo?type=20
- // 找加气站 SearchUserInfo?type=19
- // 找维修站 SearchUserInfo?type=21
- // 第2列
- #define TSLAPI_Railway @"LogisticsRailwayList" //物流专线
- // 找物流企业 SearchUserInfo
- #define TSLAPI_GoodsMasterList2 @"GoodsMasterList2" //发货企业
- #define TSLAPI_DistributionCenter @"DistributionCenterList" //配送中心
- #define TSLAPI_ExpressStation @"ExpressStationList" //快递网点
- #define TSLAPI_Terminal @"WlTerminalList" //末端网点
- // 第3列
- #define TSLAPI_Park @"LogisticsParkList" //园区
- #define TSLAPI_shebei @"WlshebeiList" //设备
- #define TSLAPI_Finance @"LogisticsFinanceList" //金融
- #define TSLAPI_People @"Hrm_ResumeList" //人才
- #define TSLAPI_Specialyer @"Specialyer" //专家
- // 第4列
- #define TSLAPI_Information @"SearchInformationList" //资讯
- #define TSLAPI_Price @"SearchLookForPrice" //运价
- // 找统计
- #define TSLAPI_Company @"Hrm_CompanyList" //招聘
- #define TSLAPI_AudioAdd @"AudioAdd" // 音频
- #define TSLAPI_FeedBackSave @"FeedBackSave" // 音频返回提交
- #define TSLAPI_CollectionSave @"User_CollectionSave" // 收藏
- #define User_CollectionList @"User_CollectionList" // 收藏列表
- #define TSLAPI_IMAGES @"http://www.560315.com/Content/Web/images/Information/"//图片
使用Charles抓包获取API的更多相关文章
- charles抓包
charles使用教程指南 charles使用教程指南 前言 移动APP抓包 PC端抓包 查看模式 其他功能 问题汇总 1. 前言: Charles是一款抓包修改工具,相比起burp,charles具 ...
- IOS charles抓包HTTP
charles通常用来截取本地的网络封包,但也可以用它来截取其他设备上的网络请求.本篇以IOS为例,讲解如何进行相应的操作. 1.charles上的设置 要截取iphone上的网络请求,我们要先将ch ...
- Charles抓包https
Charles抓包https 灰灰是只小贱狗 2018.05.08 10:46 字数 762 阅读 7800评论 3喜欢 3 抓取HTTPS请求包,对数据进行排查检验 1.安装Charles 2.电脑 ...
- Charles抓包(iOS的http/https请求)
Charles抓包(iOS的http/https请求) Charles安装 HTTP抓包 HTTPS抓包 1. Charles安装 官网下载安装Charles:https://www.charlesp ...
- charles抓包误点deny处理办法及日常抓包
误点deny方法在最底下~~ (博文为转载) 我们在开发网站项目的时候,我们可以通过浏览器的debug模式来看request以及response的数据,那么如果我们开发移动端项目没有网页呢?如何抓取数 ...
- 第2课:jmeter总结、Charles抓包
1. tps(throughput):每秒钟处理的事务数(请求数),定义与qps类似(qps:每秒完成的请求个数.) 响应时间(average):每个请求的平均响应时间 2. jmeter实现下载 ...
- 怎样使用charles抓包
本人因为是做前端的工作,需要后台写的一些数据,所以我需要一个神器能够抓到pc端或是移动端的后台数据,近期我发现一个神器“Charles”抓包神器. 需要操作的步骤如下: 1.先在网上下载Charles ...
- https 通信流程和Charles 抓包原理
1. https 通信流程 ①客户端的浏览器向服务器传送客户端SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息.②服务器向客户端传送SSL 协议的版本 ...
- charles抓包工具使用指南
前言 移动APP抓包 PC端抓包 查看模式 其他功能 问题汇总 1. 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓 ...
随机推荐
- (转)MySQL性能调优my.cnf详解
MySQL性能调优my.cnf详解 https://blog.linuxeye.cn/379.html http://blog.csdn.net/orichisonic/article/details ...
- Fiddler使用三(Fiddler内置命令)
参考:http://blog.csdn.net/ohmygirl/article/details/17855031 一. Fiddler内置命令. 上一节使用Fiddler进行抓包分析中,介绍到,在w ...
- js需要清楚的内存模型
原型 原型重写 原型继承 组合方式实现继承 函数作用域链
- 关于new Option()
先来了解下,如何运用js实现select动态添加option. //1.动态创建select function createSelect(){ var mySelect = document.crea ...
- DateTime.Now与DateTime.Today的区别
区别如下图: DateTime.Now: 不仅显示日期 还显示当前时间: DateTime.Today: 只显示当前日期,没有时间
- java中多线程中测试某个条件的变化用 if 还是用 while?
最近在研究wait和notify方法,发现有个地方要注意,但是网上又说得不是很明白的地方,就是经典的生产者和消费模式,使用wait和notify实现,判断list是否为空的这个为什么要用while而不 ...
- WPF基础控件
1.所有基础控件结束(英文) http://www.dotnetperls.com/tooltip-wpf 2.wpf- DataGrid 常用属性和事件 3.
- CMS gc随记
在查看CMS相关中文资料时,都提到了 并发预清理(Concurrent precleaning) 重新标记(STW remark) 目的是重新标记在并发标记阶段,由于对象状态的改变而标记遗漏的对象. ...
- Java - Latch和Barrier的区别
之所以把Latch与Barrier放在一起比较是因为他们给人一种相似的感觉. 他们都是阻塞一些行为直至某个事件发生,但Latch是等待某个事件发生,而Barrier是等待线程. 先比较一下JCIP中对 ...
- 灵感一:搜索型APP,帮助读书爱好者,搜索某本书的关键字
灵感来自生活,我在查询 javascript 高级程序设计 3的时候,由于我记不清楚,该关键字在书的某个地方,我就想,有没有这么一款APP,可以通过扫描一本书的二维码,自动下载该书的内容,然后再通过搜 ...