2013-06-05 31 views
5

urllibを使用すると応答時間が必要です。私は以下のコードを作ったが、それは応答時間以上である。 urllibを使用して時刻を取得することはできますか他の方法がありますか?urllibの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

「応答時間」とは何ですか? dnsをリクエストし、tcp接続を確立し、httpヘッダーを送信し、ヘッダーを受信し、htmlページを読む時間ですか? – jfs

+0

@ J.F.Sebastian私は応答時間が待ち時間であることを意味します。また、ping時間は大丈夫です。 – Edward

答えて

14

requestsモジュールを使用してください。その応答では、 'elapsed'というフィールドが提供され、リクエストの所要時間を知ることができます。

>>> import requests 
>>> response = requests.get('http://www.google.com') 
>>> print response.elapsed 
0:00:01.762032 
>>> response.elapsed 
datetime.timedelta(0, 1, 762032)