使用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具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓 ...
随机推荐
- python自动化day4-函数嵌套、名称空间、作用域、装饰器
1.函数嵌套 #函数的镶套调用:在调用一个函数的过程中,又调用其他函数 def max2(x,y): if x > y: return x else: return y def max4(a,b ...
- SpringCloud与Docker微服务架构实战笔记
一 微服务架构概述 1. 单体应用架构存在的问题 结合:https://www.cnblogs.com/jialanshun/p/10637454.html一起看,在该篇博客中搜索“单块架构的优缺点 ...
- unity+Helios制作360°全景VR视频
unity版本 unity2017.2.0 Helios版本:Helios 1.3.6 ffmpeg:ffmpeg-20180909-404d21f-win64-static(地址:https:// ...
- myEclipse修改字体大小
- java email
package email; import java.io.File;import java.util.Date;import java.util.Properties; import javax.a ...
- C++下混合编译c语言方法总结
最近在读SGI STL源码,感觉对C++的学习很有帮助,之前对于泛型.iterator.traits等等各种特性的概念非常模糊,通过这两天的琢磨,再加上<STL 源码剖析>的帮助,对C++ ...
- Java学习之路(二):关键字和变量,运算符
关于关键字的一个概述 Java的关键字对Java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构,关键字不能用做变量名.方法名.类名.包名. Java常见的关键字 标识符 什么是标识 ...
- 修改eclipse下tomcat的内存大小/解决内存溢出
我们安装完成eclipse之后,在我们的安装目录下有一个名为eclipse.ini文件. 打开文件里面的内容如下: -startup plugins/org.eclipse.equinox.launc ...
- 【随笔】 Win7下安装Git
Git GGit是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源 ...
- golang基础--Array数组
基本特性 格式: var Name [n]<type>,n>0 如: var a [10]int 表示,定义一个长度为10,元素类型为int性的数组 数组长度: 长度(len)也是数 ...