我想获取到HTTP请求的最后一个字节(TTLB)的时间。我尝试了以下方法:
1) requests.elapsed -但这会返回标头完成加载后的时间
2)请求(来自Measuring the HTTP response time with requests library in Python. Am I doing it right?)-可以,但是我希望时间为3秒,而不是0.5秒,所以我想测试另一种方法。>
3) urllib (来自Getting TTFB (time till first byte) for an HTTP Request)-我位于代理服务器后面,很难使代理服务器正常工作。我已经尝试过此(How can I open a website with urllib via proxy in Python?),但是它不起作用。我收到的错误是:urllib.error.HTTPError: HTTP Error 401: Unauthorized
。我正在使用的代理详细信息是正确的(可应要求提供)。
我正在使用的代码:
def url_time(url):
proxydict = {'http': 'http://xxxx', 'https': 'https://xxxx'}
proxy_support = urllib.request.ProxyHandler(proxydict)
opener = urllib.request.build_opener(proxy_support)
urllib.request.install_opener(opener)
start_time = time.time()
stream = urllib.request.urlopen(url)
output = stream.read()
end_time = time.time()
stream.close()
return end_time-start_time
感谢有人对使用请求获取TTLB或使urllib在代理之后起作用有任何想法-我使用的是Python 3.6。谢谢。