我希望在使用时获得响应时间urllib.我在下面编写代码,但它不仅仅是响应时间.我可以花时间使用urllib或有其他方法吗?
import urllib
import datetime
def main():
urllist = [
"http://google.com",
]
for url in urllist:
opener = urllib.FancyURLopener({})
try:
start = datetime.datetime.now()
f = opener.open(url)
end = datetime.datetime.now()
diff = end - start
print int(round(diff.microseconds / 1000))
except IOError, e:
print 'error', url
else:
print f.getcode(), f.geturl()
if __name__ == "__main__":
main()
Run Code Online (Sandbox Code Playgroud)
syn*_*tel 15
节省一些麻烦并使用请求模块.在其响应中,它提供了一个名为"elapsed" 的datetime.timedelta字段,可以让您知道请求所花费的时间.
>>> import requests
>>> response = requests.get('http://www.google.com')
>>> print response.elapsed
0:00:01.762032
>>> response.elapsed
datetime.timedelta(0, 1, 762032)
Run Code Online (Sandbox Code Playgroud)
我更喜欢 requests 库,但被迫使用 urllib3。我发现在 urllib3 中,response.elapsed.total_seconds()大致相当于:
import datetime
import urllib3
http = urllib3.PoolManager()
url_string = "http://google.com"
start = datetime.datetime.now()
response = http.request('GET', url_string)
end = datetime.datetime.now()
delta = end - start
elapsed_seconds = round(delta.microseconds * .000001, 6)
print(elapsed_seconds)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11097 次 |
| 最近记录: |