python2 httplib.HTTPConnection 可以访问 https 么

发布时间: 更新时间: 总字数:307 阅读时间:1m 作者: IP上海 分享 网址

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 库。

Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数