Httplib - 检查连接是否打开

1 投票
1 回答
2104 浏览
提问于 2025-04-18 01:55

我正在连接一个服务器,并发送分块编码的HTTP请求。这个服务器如果在一分钟内没有发送任何数据,就会关闭连接。所以我想在写数据的时候检查一下连接是否还开着。

连接的初始化大概是这样的:

conn = httplib.HTTPConnection(url, 80)
conn.putrequest('POST', '/')
conn.putheader('Host', hosturl)
conn.putheader('Transfer-Encoding', 'chunked')
conn.putheader('Connection', 'close')
conn.endheaders()

然后数据是通过以下方式写入的:

conn.send('{msglen}\r\n{msg}\r\n'.format(msglen=msglen, msg=msg))

有没有什么方法可以判断这个连接是否还开着?我注意到有一个异常叫做 httplib.NotConnected,但是如果我运行:

conn.close()
conn.send(data)

这个异常并没有被抛出。

谢谢你的帮助!

1 个回答

0

看起来

conn.sock != None

会显示它是否连接上了。

撰写回答