在利用雪球的一些接口的时候,如果不设置cookie会报错如下:

{'error_description': '遇到错误,请刷新页面或者重新登录帐号后再试'。。。。

无论如何设置headers的refer或者host 都是无效的,因为他需要携带cookie来请求。

cookie的破解方式
手动处理:
通过抓包工具将请求携带的cookie添加到headers中
弊端:cookie会有有效时长,cookie还是动态变化
自动处理:
使用session进行cookie的自动保存和携带
session是可以进行请求发送的,发送请求的方式和requests一样
如果使用session进行请求发送,在请求的过程中产生了cookie,则该cookie会被自动存储到session对象中
如果使用了携带cookie的session再次进行请求发送,则该次请求就时携带cookie进行的请求发送

 

下面实战一下:

headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
#创建一个session实例
session = requests.Session()
#先访问雪球获取cookie
session.get("https://xueqiu.com/", headers = headers)
#携带cookie进行访问
res = session.get("https://xueqiu.com/statuses/hot/listV2.json?since_id=-1&max_id=-1&size=15",headers = headers)

就能正常输出了

 

添加新评论