tornado 的异步请求如何实现模拟登录?

2017-01-16 20:15:19 +08:00
 aiqier

之前写 python 的模拟客户端登录,都是使用 python 的 requests 库。因为这个库有 requests.session(),写模拟登录非常方便。

但现在我的一个 tornado 异步服务,有一个模拟登录的需求。我需要用异步,所以只能用: tornado.httpclient.AsyncHTTPClient()之类的异步方式,不能用 requests 库。

那么我应该如何用 tornado 的异步库来实现模拟登录的 session ?

2946 次点击
所在节点    Python
6 条回复
abc950309
2017-01-17 10:42:03 +08:00
看一下 trequests 吧,别人已经做好轮子了……
自己写的话,没记错的话,连 Cookie 都要自己解析……
aiqier
2017-01-17 10:54:16 +08:00
@abc950309 我咋没搜到这个东西。
abc950309
2017-01-17 11:15:17 +08:00
@aiqier 请用 Google ……
https://github.com/1stvamp/trequests
可能有点老了,可以根据这个思路 fork 一个。
tyl
2017-01-17 16:44:48 +08:00
requests 的 session 无非就是帮你实现了方便的 cookie 管理,让你下次访问该网站的时候自动在 header 里面加上了它的 cookie , tornado 的每个请求都是异步的,所以感觉可以把每次请求获取到的 cookie 存到缓存(比如 redis )里面,每次进行下一步的请求时就可以先从缓存里面读 cookie 然后更新 header 。
maze1024
2017-01-18 10:24:14 +08:00
aiohttp 也是异步的
maodei
2018-01-30 16:57:04 +08:00
@maze1024 aiohttp 是 python3.X 的。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/334995

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX