我正在用Python编写一个程序,它必须在强制进入直接连接时发出http请求以避免代理。以下是我成功管理此代码的代码:
print "INFO: Testing API..."
proxy = urllib2.ProxyHandler({})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
req = urllib2.urlopen('http://maps.googleapis.com/maps/api/geocode/json?address=blahblah&sensor=true')
returneddata = json.loads(req.read())
然后我想在'req'周围添加一个try语句,以便处理用户没有连接到互联网的情况,我试过这样:
try:
req = urllib2.urlopen('http://maps.googleapis.com/maps/api/geocode/json?address=blahblah&sensor=true')
except urllib2.URLError:
print "Unable to connect etc etc"
麻烦的是,通过这样做,它总是抛出异常,即使地址是完全可访问的&没有它的代码工作。
有什么想法吗?干杯。