声明:本文所有的内容只作学习使用。
菜鸟裹裹是阿里巴巴旗下菜鸟网络的产品,可用于查询淘宝的快递单号,除了快递状态、进程,还包含了淘宝发货的流程。最近因一个产品需求,需要同步淘宝的物流信息,故研究下如果调用接口来自动获取。
研究思路
- 菜鸟裹裹官网,输入快递单号查询,示例:491772628733,查询前打开浏览器调试窗口
- 观察NetWork窗口,过滤XHR,发现发送了两个请求,观察response,第一个ret为:"FAIL_SYS_ILLEGAL_ACCESS::非法请求",第二个调用成功
- 对比两个请求的request参数,只是少了一个c值,细心的话会发现第一个的response中返回结果也包含了c值
- 查询接口包含12个参数,为了调用需要弄清楚各个参数的含义以及生成方式
代码跟进
dom元素及事件
网页的按钮触发就意味着按钮点击事件触发,查询按钮的dom为
<span id="J_SearchBtn" class="search-btn" data-spm-anchor-id="a2d5h.11386884.0.i1"></span>
其中id为J_SearchBtn,查看元素的Event Listeners,根据当中的click事件可知注册的源代码位置
$("#J_SearchB