Hi everybody, I am trying to use a very simple piece of code to get the realm from different HTTPS URLs.
This realm is essential for successful authentication on the HTTPS session. If have to run this for a few different hosts and capture the realm. For one host, it works perfectly, but when I try the same code to get the next realm, it fails. I suspect that I need to close some type of connections or something, but I can't put my finger on it. This what I try: >>> ips = ['192.168.10.190', '192.168.10.191', '192.168.10.192', '192.168.10.193'] >>> URL = "https://%s/axis-cgi/jpg/image.cgi?resolution=1280x800" >>> import urllib2 >>> try: ... req = urllib2.Request(URL % ips[0]) ... handle = urllib2.urlopen(req) ... except IOError, e: ... print `e` ... HTTPError() >>> >>> e HTTPError() >>> authline = e.headers.get('www-authenticate', '') >>> authline 'Digest realm="AXIS_00408CB71F14", nonce="0002c497Y6450989253d0ea85587e89821031c60ab9768", stale=FALSE, qop="auth", Basic realm="AXIS_00408CB71F14"' >>> >>> handle File "<console>", line 1, in <module> ''' <type 'exceptions.NameError'> : name 'handle' is not defined ''' >>> req <urllib2.Request instance at 0x07A67990> >>> req.host '192.168.10.190' >>> At this point, I am happy. It worked. I expect the try to fail to get the exception. For the next one: >>> try: ... req = urllib2.Request(URL % ips[1]) ... handle = urllib2.urlopen(req) ... except IOError, e: ... print `e` ... >>> See, no "e" printed which means that something worked. The exception didn't happen and I don't know why...Anybody? I tried doing this: >>> del req >>> del handle >>> del e But with the same result: >>> try: ... req = urllib2.Request(URL % ips[1]) ... handle = urllib2.urlopen(req) ... except IOError, e: ... print `e` ... >>> e File "<console>", line 1, in <module> ''' <type 'exceptions.NameError'> : name 'e' is not defined ''' >>> req <urllib2.Request instance at 0x07B7BDF0> >>> handle <addinfourl at 129502424 whose fp = <socket._fileobject object at 0x07B7C670>> Regards Johan _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor