已在其他板块里和MYCNCART官网插件区提供了下载插件,此贴只是针对快递100的接口进行分析处理
--------------------------------------------------------------------------------------------------------------------------------------
都知道快递100接口升级后,使用普通的key是无法查询到ems、顺丰、申通等快递公司的物流信息。
而需要使用HTMLapi的接口去调用,
--------------------------------------------------------------------------------------------------------------------------------------
都知道快递100接口升级后,使用普通的key是无法查询到ems、顺丰、申通等快递公司的物流信息。
而需要使用HTMLapi的接口去调用,
那么这个接口返回的是一个地址url
![](https://i-blog.csdnimg.cn/blog_migrate/02b09426d2abb732ea9c34bf3550a8ee.png)
通过对这个url的抓包发现,它这个页面打开的时候有了多个请求,其中有个请求返回的响应数据既然是物流信息
![](https://i-blog.csdnimg.cn/blog_migrate/00fd94544f2900517c2c50e2b058b28d.png)
那么知道后,我们是否可以直接调用此接口呢。
经过参数的拼装再次访问这个地址
http://www.kuaidi100.com/query?id=1&type=ems&postid=ED735359932IN&valicode=&temp=0.4958606243599206
在一定时间内是有效的,但是过后却会返回报错信息:如下
![](https://i-blog.csdnimg.cn/blog_migrate/f4f3ebc95b6730cc62310bae3f286ba4.png)
有人就会觉得奇怪,明明是可以抓包看到的数据就是这个地址的,为什么通用的数据去查不了呢,还有人会觉得那个参数tmp那个时间戳的问题...
我试着适应ajax拼装请求获取这个随机的时间戳还是无法得到正确的响应......
亲们可以分析下那个调用htmlapi返回的url打开后的页面,看看源代码里面有个引用js里面写了个异步调用这个query这个接口的。也是异步
-----------------------------------------
以上方法行不通,那么我就开始分析这个抓包的数据了,看到在请求
http://www.kuaidi100.com/query?id=1&type=ems&postid=ED735359932IN&valicode=&temp=0.4958606243599206这地址的时候,请求头里的
Referer的参数既然是那个响应url,如图
![](https://i-blog.csdnimg.cn/blog_migrate/ef2b2e3917a1a73035b4e56e1c7cb8fd.png)
知道这个就好办了,我们来
模拟请求下面是php写法的列子:
请请求获取到htmlapi返回的url,然后再请求第二个接口拼装请求头去请求,这样就能返回标准的json数据,接下来怎么操作,各位自明哈
![](https://i-blog.csdnimg.cn/blog_migrate/3cd2e788bc1414146d6fa6a7d81a9508.png)
--------------------------------------------------------------------
第一次写这样的帖子,又比较急着吃饭,各位谅解谅解..................