Tornado RequestHandlers的HTTP客户端混入
项目描述
为Tornado RequestHandlers提供的HTTP客户端混入。自动在错误时重试,当速率限制时休眠,并使用MsgPack和JSON处理内容编码和解码。
安装
sprockets.mixins.http可在Python包索引中找到,并通过pip安装
pip install sprockets.mixins.http
如果您想使用具有众多优势的pycurl的curl客户端,您可以通过以下方式安装
pip install sprockets.mixins.http[curl]
文档
需求
示例
此示例演示了sprockets.mixins.http的最基本用法
from tornado import ioloop, web
from sprockets.mixins import http
class RequestHandler(http.HTTPClientMixin, web.RequestHandler):
async def get(self, *args, **kwargs):
response = await self.http_fetch('https://api.github.com')
if not response.ok:
self.set_status(response.code)
self.write(response.body)
if __name__ == "__main__":
app = web.Application([(r'/', RequestHandler)])
app.listen(8000)
ioloop.IOLoop.current().start()
与Tornado一样,要使用具有许多优势的curl客户端
from tornado import httpclient, ioloop, web
from sprockets.mixins import http
httpclient.AsyncHTTPClient.configure(
'tornado.curl_httpclient.CurlAsyncHTTPClient')
class RequestHandler(http.HTTPClientMixin, web.RequestHandler):
async def get(self, *args, **kwargs):
response = await self.http_fetch('https://api.github.com')
if not response.ok:
self.set_status(response.code)
self.write(response.body)
if __name__ == "__main__":
app = web.Application([(r'/', RequestHandler)])
app.listen(8000)
ioloop.IOLoop.current().start()
错误响应体
对于错误,例如HTTP状态码在400范围内的响应...
HTTPResponse对象的主体被简化为仅包含错误消息。这是此混入的默认行为。
对于带有问题详情(RFC 7807)的JSON响应体,您可能希望除了错误消息之外还有更多信息。为了访问完整的、反序列化的响应体;使用此混入的类可以设置
self.simplify_error_response = False
环境变量
HTTP_MAX_CLIENTS |
一个可选设置,指定同时进行的最大异步HTTP请求数量。如果未指定,将使用Tornado的默认值10。 |
许可证
sprockets.mixins.http 采用 3-Clause BSD 许可协议 发布。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
sprockets.mixins.http-2.6.0.tar.gz (11.0 kB 查看哈希值)
构建分发
关闭
sprockets.mixins.http-2.6.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d06fdf6f627e6daaf7d14e1a37c7d52c440f0fb63a59fb2bb92180963b23bd81 |
|
MD5 | e990034e9f93bf7316ec568b244e67d6 |
|
BLAKE2b-256 | e62f01fd218e4948aa5f7def60e00d423562314cdaf2d4e3bdfbbc0abbde02f0 |
关闭
sprockets.mixins.http-2.6.0-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a0b8550f49e570d25bb9339c788efa3c3f307e23ca0cd35730b654211134351f |
|
MD5 | 975e3789256259c651d49a1afbc494f1 |
|
BLAKE2b-256 | 5c32b4ea9e1f356146e54b56bf14ff8d9a818b98e0c30b20db9f79747bff1a61 |