I just tried this: >>> import urllib2 >>> urllib2.urlopen( "https://passenger.ssc.com/~dmarti/contrib-faq/" ) It sits forever. Loading that URL in a normal browser gets me a popup asking about server certificate authenticity, which presumably is what urllib2 is blocking at. How can I prepare my code for this eventuality and ensure it doesn't block?