Python 2 的 httplib
模块中的 HTTPConnection
类不能直接访问 HTTPS 资源,因为它只支持 HTTP 协议。
但是,你可以使用 httplib
模块中的 HTTPSConnection
类来访问 HTTPS 资源。HTTPSConnection
类继承自 HTTPConnection
类,并添加了 SSL/TLS 支持。
例如:
import httplib
conn = httplib.HTTPSConnection("example.com")
conn.request("GET", "/")
response = conn.getresponse()
print(response.status, response.reason)
这将创建一个 HTTPS 连接到 example.com
并发送一个 GET 请求。
如果你想要使用 HTTPConnection
类来访问 HTTPS 资源,你可以使用 ssl
模块来创建一个 SSL 上下文,然后将其传递给 HTTPConnection
对象。例如:
import httplib
import ssl
context = ssl.create_default_context()
conn = httplib.HTTPConnection("example.com", context=context)
conn.request("GET", "/")
response = conn.getresponse()
print(response.status, response.reason)
这将创建一个 SSL 上下文,然后将其传递给 HTTPConnection
对象,以便使用 SSL/TLS 加密连接到 example.com
。
需要注意的是,在 Python 2 中,httplib
模块中的 HTTPSConnection
类和 HTTPConnection
类都有安全问题,例如不验证服务器证书。这可能会导致安全问题。在生产环境中,你应该使用更安全的库,例如 requests
库。