我正在编写一个代码,通过在文件中同时发布1000个不同的HTTP请求来测试负载。请在下面找到代码。如何同时发布所有HTTP请求?另外,我不确定我写的代码是否能更好地获取响应时间和状态。我正在运行requests.get()两次以获取详细信息。有人可以通过让我知道如何同时发布HTTP请求并获得响应时间和状态代码来帮助我完成代码清理吗?请在下面找到我的代码。
import requests
urls = []
urls = [line.rstrip('\n') for line in open('urllist.rtf')]
for url in urls:
r=requests.get(url)
time = requests.get(url).elapsed.total_seconds()
print url, r.status_code, time
答案 0 :(得分:1)
为了使代码更清晰,我建议grequests,
pip install grequests
你只需重写一些部分
from __future__ import print_function
import grequests
rs = (grequests.get(u) for u in urls)
for response in grequests.map(rs):
print(response.status_code, response.elapsed.total_seconds())
将响应对象作为rs
中的列表获取。
答案 1 :(得分:0)
您可以使用DomainType
multiple
或查看threads
https://scrapy.org/