【问题标题】:Python determine if HTTPConnection failed to connectPython判断HTTPConnection是否连接失败
【发布时间】:2014-07-08 15:08:58
【问题描述】:
在 Python 中,我如何确定 HTTPConnection 是否无法连接到服务器,例如,通过错误的服务器地址?
import httplib
import sys
if len(sys.argv) != 2:
print 'Usage: server'
quit()
con = httplib.HTTPConnection(argv[1]) # how I can determine if this fails?
【问题讨论】:
标签:
python
http
httpconnection
httplib
【解决方案1】:
在实例化对象con.connect()之后试试这个。
如果无法建立连接,此调用将抛出异常。
例子:
>>> import httplib
>>> con = httplib.HTTPConnection('127.0.0.1')
>>> con.connect()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/httplib.py", line 772, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
socket.error: [Errno 111] Connection refused
【解决方案2】:
您可以尝试添加try() 和except() 语句。