使用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具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓 ...
随机推荐
- 数组合并去重Array.from
function uniqArr(){ if(arguments.length == 0) return []; var arr = arguments[0]; for(var i=1;i<ar ...
- 用servlet校验密码
一.结果图 package Login; import java.io.IOException; import java.io.PrintWriter; import java.sql.Connect ...
- ajax乱码的问题
ajax 乱码情况与原因很多,本文只讲其中之一: 浏览器端正常的数据,用ajax提交到服务器上就乱码了. 当ajax的提交方式是get而不是post时,其所携带的数据不会被字符编码过滤器所拦截(事实上 ...
- es put mapping
fd dg public Map<String, Map<String, String>> javaBeanToMapping(Object instance, List< ...
- Apache 配置虚拟域名的最简单方式
一.配置httpd.conf: 1.取消Include conf/extra/httpd-vhosts.conf的注释,代码如下: # Virtual hostsInclude conf/extra/ ...
- Linux下实现MySQL数据库自动备份
1.给mysql创建用户备份的角色,并且授予角色SELECT, RELOAD, SHOW DATABASES, LOCK TABLES等权限. mysql> create user 'backu ...
- lua热重载
热重载,就是不重新开unity让代码的变化直接看出来,一般在开发时候使用 lua中通过require导入的文件,最终都存在package.loaded这个table中.require会判断是否文件已经 ...
- 游戏场景下的DDoS风险分析及防护
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯游戏云资深架构师 vince 本篇文章主要是分享游戏业务面临的安全风险场景,以及基于这些场景的特点,我们应该如何做好对应的防护. ...
- python: local variable 'xxx' referenced before assignment
问题发现 xxx = 23 def PrintFileName(strFileName): if xxx == 23: print strFileName xxx = 24 PrintFileName ...
- 深入理解JavaScript系列(42):设计模式之原型模式
介绍 原型模式(prototype)是指用原型实例指向创建对象的种类,并且通过拷贝这些原型创建新的对象. 正文 对于原型模式,我们可以利用JavaScript特有的原型继承特性去创建对象的方式,也就是 ...