爬取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',
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
TimeStamp 本身无非就是时间戳, 这个没什么.
别人加了签名目的之一就是反爬虫, 你需要了解它的签名算法, 所以试着反编译一下看看能不能捞到签名算法吧. (估计就是字符串拼接 + MD5, 无非就是要知道哪些字符串拼接进去了, 因为这个sign的长度是 32 字节所以可以确定是 MD5)