Python urllib2计时

2024-04-26 12:37:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我想收集与web请求的每个阶段所用时间相关的统计信息。httplib提供:

def run(self):
    conn = httplib.HTTPConnection('www.example.com')
    start = time.time()
    conn.request('GET', '/')
    request_time = time.time()
    resp = conn.getresponse()
    response_time = time.time()
    conn.close()
    transfer_time = time.time()

    self.custom_timers['request sent'] = request_time - start
    self.custom_timers['response received'] = response_time - start
    self.custom_timers['content transferred'] = transfer_time - start

    assert (resp.status == 200), 'Bad Response: HTTP %s' % resp.status

这些统计信息是否可以从更高级的接口(如urllib2)获得?有没有高级图书馆提供这样的统计资料?在


Tags: selfweb信息timeresponserequeststatuscustom
2条回答

正如在related question中提到的,现在一个好的方法是使用requests库。您可以使用它来测量请求延迟,但我不确定是否可以测量内容传输时间。您可以通过比较HEAD请求和GET请求来实现这一点。在

在时间。时间不是最可靠和精确的。您可以使用python中的timeIt模块进行分析。http://docs.python.org/library/timeit.html 下面是一个使用timeit的代码片段

^{1}$

在您的例子中,您必须给create三个timeit对象,用于请求、响应和内容。有关timeit模块的更多信息,请参阅文档

相关问题 更多 >