Я не уверен, что это ошибка или я просто делаю что-то не так. Если бы я сделал HTTP-соединение, как это:
import httplib
http_connection = httplib.HTTPConnection("192.168.192.196")
http_connection.request("GET", "/")
http_connection.sock.settimeout(20)
response = http_connection.getresponse()
data = response.read()
http_connection.close()
Затем в командной строке DOS я делаю это:
netstat -ano | find /i "192.168.192.196:80" | find /i "ESTABLISHED"
Я ничего не получаю.
Однако, если я делаю то же самое, но меняю его на HTTPSConnection:
import httplib
http_connection = httplib.HTTPSConnection("192.168.192.196")
http_connection.request("GET", "/")
http_connection.sock.settimeout(20)
response = http_connection.getresponse()
data = response.read()
http_connection.close()
Тогда сделайте это:
netstat -ano | find /i "192.168.192.196:443" | find /i "ESTABLISHED"
На самом деле я увижу, что соединение остается установленным до тех пор, пока я фактически не выйду из оболочки Python ^ ^.
Это происходит в одном из приложений, за которые я отвечаю. Python на самом деле не висит там - он просто оставляет соединение открытым.
Я что-то здесь не так делаю? Нужен ли мне дополнительный код для закрытия HTTPS-соединения?
Это Python 2.6.4, кстати.