之前写 python 的模拟客户端登录,都是使用 python 的 requests 库。因为这个库有 requests.session(),写模拟登录非常方便。
但现在我的一个 tornado 异步服务,有一个模拟登录的需求。我需要用异步,所以只能用: tornado.httpclient.AsyncHTTPClient()之类的异步方式,不能用 requests 库。
那么我应该如何用 tornado 的异步库来实现模拟登录的 session ?
1
abc950309 2017-01-17 10:42:03 +08:00
看一下 trequests 吧,别人已经做好轮子了……
自己写的话,没记错的话,连 Cookie 都要自己解析…… |
3
abc950309 2017-01-17 11:15:17 +08:00
|
4
tyl 2017-01-17 16:44:48 +08:00
requests 的 session 无非就是帮你实现了方便的 cookie 管理,让你下次访问该网站的时候自动在 header 里面加上了它的 cookie , tornado 的每个请求都是异步的,所以感觉可以把每次请求获取到的 cookie 存到缓存(比如 redis )里面,每次进行下一步的请求时就可以先从缓存里面读 cookie 然后更新 header 。
|
5
maze1024 2017-01-18 10:24:14 +08:00
aiohttp 也是异步的
|