通过几次访问对比,需要几个东西
nu就是快递单号
客户端标识,也就是浏览器标识
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36
再然后就是COOKIE,访问页面返回的COOKIE即可
输入快递单号,会进行第一次接口访问,目的是识别你这个单号是哪个快递公司的。
https://alayn.baidu.com/express/appdetail/get_com?num=*****&cb=jsonp_1683117239902_98056
返回的是一段json字段,解析一下就可以拿到所需的内容(单号的所属公司),根据自己需求操作。
第二个接口:https://alayn.baidu.com/express/appdetail/get_detail?query_from_srcid=51151&tokenV2=” + v2 + “&appid=4001&nu=” + nu + “&com=” + co + “&qid=4879176651996235000&ds=&tk=&verifyMode=1
其实变化的就是几个参数,v2、nu、co
nu是快递单号,上诉有说,co就是第一个接口返回的内容,因为这个后端是人家开发的,所以,相关公司的标识还是得根据接口返回的来使用,自己编辑的有可能不符合。
现在来说一下v2这个参数的获取方式。
直接访问:https://www.baidu.com/baidu?isource=infinity&iname=baidu&itype=web&tn=02003390_43_hao_pg&ie=utf-8&wd=%E5%BF%AB%E9%80%92
返回的COOKIE要保存下来。v2参数的内容就在返回的数据中,直接保存网页文本搜索 tokenV2
,就可以找到。
随后就是组合第二个接口就行。
注意点:
- 尽可能保持相同客户端标识
- 操作相同单号时候cookie也要保持相同
- 太频繁操作会导致客户端异常,有可能是直接IP限制。