安装: sudo pip install requests-futures
- 具体详情请点击 官方网站
项目描述(Project description)
为使用者提供的异步 python HTTP请求
这是一个 python 请求 http库的小插件, 使用的是python3.2的concurrent.futures
或backport
, 用于python的早期的版本.
代码部分: python
from requests import Session
session = Session()
# 第一个请求开始并阻塞, 直到请求完成
response_one = session.get('http://httpbin.org/get')
# 第二个请求在第一个请求完成后启动
response_two = session.get('http://httpbin.org/get?foo=bar')
# 全部的请求都完成才执行下面的语句
print('response one status: {0}'.format(response_one.status_code))
print(response_one.content)
print('response two status: {0}'.format(response_two.status_code))
print(response_two.content)
我们可以将这个转换为类似期货, 从而通过创建一个未来会话, 捕捉返回的未来来代替响应. 这个可以通过在未来调用result方法来得到响应结果
代码如下
from requests_futures.sessions import FuturesSession
session = FuturesSession()
# 第一个请求在后台开始
future_one = session.get('http://httpbin.org/get')
# 第二个请求也马上在后台开始
future_two = session.get('http://httpbin.org/get?foo=bar')
# 等待第一个请求完成,
response_one = future_one.result()
print('response one status: {0}'.format(response_one.status_code))
print(response_one.content)
# 等待第二个请求完成
response_two = future_two.result()
print('response two status: {0}'.format(response_two.status_code))
print(response_two.content)
默认情况下, 1个线程池执行者由2个工人组成, 如果你愿意, 可以调整该值.