2013-06-05 15 views
5

urllib numaralı telefonu kullanırken yanıt süresi almak istiyorum. Kodun altında yaptım, ama yanıt süresinden daha fazlası. urllib kullanarak zaman alabilir miyim veya başka bir yöntem var mı?python'da urllib yanıt süresi

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

"Yanıt süresi" nedir? Dns isteği yapmak, tcp bağlantısı kurmak, http başlıkları göndermek, üstbilgileri almak, html sayfasını okumak zamanı mı? – jfs

+0

@ J.F.Sebastian Yani, yanıt süresi gecikme süresidir. Ayrıca ping zamanı tamamdır. – Edward

cevap

14

Kendinize sorun yaşayın ve requests modülünü kullanın. Yanıtlarında, isteğin ne kadar sürdüğünü bilmenizi sağlayan 'geçen' adı verilen datetime.timedelta alanı sağlar.

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