2013-06-05 37 views
5

Tôi muốn nhận thời gian phản hồi khi sử dụng urllib. Tôi đã thực hiện dưới mã, nhưng nó là nhiều hơn thời gian đáp ứng. Tôi có thể lấy thời gian bằng cách sử dụng urllib hoặc có phương pháp nào khác không?Thời gian đáp ứng cho urllib trong python

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() 
+0

"Thời gian phản hồi" là gì? Có thời gian để yêu cầu dns, thiết lập kết nối tcp, gửi tiêu đề http, nhận tiêu đề, đọc trang html không? – jfs

+0

@ J.F.Sebastian Ý tôi là, thời gian phản hồi là thời gian chờ. Ngoài ra thời gian ping là okay. – Edward

Trả lời

14

Tự khắc phục một số rắc rối và sử dụng mô-đun requests. Trong phản hồi của nó, nó cung cấp một trường datetime.timedelta được gọi là 'trôi qua' cho phép bạn biết thời gian yêu cầu đã mất.

>>> import requests 
>>> response = requests.get('http://www.google.com') 
>>> print response.elapsed 
0:00:01.762032 
>>> response.elapsed 
datetime.timedelta(0, 1, 762032) 
Các vấn đề liên quan