Python urllib2 https是如何工作的?

Python urllib2 https是如何工作的?,python,https,urllib2,Python,Https,Urllib2,查看urlib2的文档,它说它支持HTTPS连接。然而,它没有明确说明的是如何启用它。例如,您是以HTTPBasicAuth为例,将HTTP替换为HTTPS,还是在实际打开连接时只需要在url中传递HTTPS?

查看urlib2的文档,它说它支持HTTPS连接。然而,它没有明确说明的是如何启用它。例如,您是以HTTPBasicAuth为例,将HTTP替换为HTTPS,还是在实际打开连接时只需要在url中传递HTTPS?

您只需在打开连接时传递HTTPS URL即可。请注意Urllib2文档中的警告,其中指出:

“警告HTTPS请求不会对服务器的证书进行任何验证。”

因此,我建议使用提供更好界面和许多功能的库,包括SSL证书验证和Unicode支持

更新20150120:

Python 2.7.9添加了HTTPS主机名验证作为标准。请参见中的更改注释


感谢@EnnoGröper的通知。

您只需在打开连接时传递HTTPS URL即可。请注意Urllib2文档中的警告,其中指出:

“警告HTTPS请求不会对服务器的证书进行任何验证。”

因此,我建议使用提供更好界面和许多功能的库,包括SSL证书验证和Unicode支持

更新20150120:

Python 2.7.9添加了HTTPS主机名验证作为标准。请参见中的更改注释


感谢@EnnoGröper的通知。

缺乏证书验证不是一个问题,因为这正用于内部系统,但“规则”规定,没有SSL/SSH连接,不得传输密码。Thanks@Bickerx2请参阅更新。您可能会发现请求更容易处理。我确实查看了请求,但我没有使用请求的选项,因为我必须安装脚本的位置,只有标准库可用。另外,添加一个附加库也不值得为授予的“否”响应做额外的工作。中的警告消失了,至少使用了2.7.9。我非常确定,urllib2.urlopen默认情况下确实验证证书。缺少证书验证不是一个问题,因为这是用于内部系统的,而是“规则”声明在没有SSL/SSH连接的情况下不能传输密码。Thanks@Bickerx2请参阅更新。您可能会发现请求更容易处理。我确实查看了请求,但我没有使用请求的选项,因为我必须安装脚本的位置,只有标准库可用。另外,添加一个附加库也不值得为授予的“否”响应做额外的工作。中的警告消失了,至少使用了2.7.9。我很确定,urllib2.urlopen默认情况下确实验证了证书。