Response time for urllib in python
Question: I want to get response time when I use `urllib`. I made below code, but it is
more than response time. Can I get the time using `urllib` or have any other
method?

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


Answer: Save yourself some hassle and use the [requests](http://docs.python-
requests.org/en/latest/user/quickstart/#response-content) module. In its
responses it provides a
[datetime.timedelta](http://docs.python.org/2/library/datetime.html) field
called 'elapsed' that lets you know how long the request took.

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

