爬取app信息如何更新header?

新手上路,请多包涵
如题,本菜用charles获取共享汽车evcard app的curl代码,然后用python爬取数据,在爬数据的时候发现每过一段时间就会发现header过期
如成功获取请求的时候输出的是
data:{......}##(获取共享汽车信息)
,message': '成功', 'status': 0}
但是过段时间后却输出
data:{} ,message': '请校准系统时间', 'status': -1}
改cookies没有用,得把header换成新获得的才行,求哪位大佬能回答这个问题。
header表头大概是这样的,得把random,timestamp和sign同时改了才有用。

headers = {

'Host': 'apigw-mas.evcard.vip',
'appType': 'iOS',
'random': 'fwg5t6',
'version': '3.10.0',
'Accept': '*/*',
'channel': 'appstore_1',
'TimeStamp': '1595843582983',
'Accept-Language': 'zh-Hans-CN;q=1',
'token': '',
'Content-Type': 'application/json',
'User-Agent': 'EVCARD/3.10.0 (iPad; iOS 13.4.1; Scale/2.00)',
'appkey': 'evcardapp',
'event_id': '',
'sign': '05DD51989560844A08E3B8732BD9B41D',
'Pragma': 'no-cache',
'Cache-Control': 'no-cache',

}

阅读 2.2k
1 个回答

TimeStamp 本身无非就是时间戳, 这个没什么.

别人加了签名目的之一就是反爬虫, 你需要了解它的签名算法, 所以试着反编译一下看看能不能捞到签名算法吧. (估计就是字符串拼接 + MD5, 无非就是要知道哪些字符串拼接进去了, 因为这个sign的长度是 32 字节所以可以确定是 MD5)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进