当前位置: 首页 > 知识库问答 >
问题:

python urllib获得[Errno socket error][duplicate]

史飞尘
2023-03-14

我正在练习google-python课程。然而,我得到了问题与urllib。下面是简化代码:

import urllib
url = 'http://www.google.com'
ufile=urllib.urlopen(url)

这段代码实际上是有效的,但是如果我将url更改为其他一些,例如:

url = 'https://developers.google.com/edu/python/utilities#exceptions'

它会引发错误:

IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED]   certificate verify failed (_ssl.c:590)

完整的错误信息如下:

Traceback (most recent call last):
  File "practice2.py", line 4, in <module>
    ufile=urllib.urlopen(url)
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/urllib.py", line 87, in urlopen
    return opener.open(url)
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/urllib.py", line 213, in open
    return getattr(self, name)(url)
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/urllib.py", line 443, in open_https
    h.endheaders(data)
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/httplib.py", line 1049, in endheaders
    self._send_output(message_body)
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/httplib.py", line 893, in _send_output
    self.send(msg)
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/httplib.py", line 855, in send
    self.connect()
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/httplib.py", line 1274, in connect
    server_hostname=server_hostname)
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/ssl.py", line 352, in wrap_socket
    _context=self)
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/ssl.py", line 579, in __init__
    self.do_handshake()
  File "/home/jren/Canopy/appdata/canopy-1.6.2.3262.rh5-x86_64/lib/python2.7/ssl.py", line 808, in do_handshake
    self._sslobj.do_handshake()
IOError: [Errno socket error] [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

非常感谢你读到这篇文章!

共有2个答案

林炫明
2023-03-14

1检查SSL版本

2以确保套接字模块的底部支持SSL编译模式,即当SSL编译器选项打开时。

3端口错误,请检查它

幸弘光
2023-03-14

Python目前对ssl的要求比以前严格得多。您可以暂时绕过ssl验证。看看这篇文章。当然,这可能不是一个永久的解决方案,但如果您没有权限配置开发人员。谷歌。com证书,这可能是你能做的最好的了。

 类似资料:
  • 当所有映射定义被 org.hibernate.cfg.Configuration 解析后,应用程序必须获得一个用于构造 org.hibernate.Session 实例的工厂。这个工厂将被应用程序的所有线程共享: SessionFactory sessions = cfg.buildSessionFactory(); Hibernate 允许你的应用程序创建多个 org.hibernate.Ses

  • 关于如何从因特网上下载 Debian GNU/Linux 或者购买官方 Debian 光盘的信息,请参阅 发行网页。 Debian 镜像列表 包含完整的 Debian 官方镜像,您可以很容易找到最近的一个。 Debian 可以很容易地在安装之后升级。如果需要,安装步骤将帮助您建立系统, 使您可以在安装之后立即进行升级。

  • 关于如何从因特网上下载 Debian GNU/Linux 或者购买官方 Debian 光盘的信息,请参阅 发行网页。 Debian 镜像列表 包含完整的 Debian 官方镜像,您可以很容易找到最近的一个。 Debian 可以很容易地在安装之后升级。如果需要,安装步骤将帮助您建立系统, 使您可以在安装之后立即进行升级。

  • 主要内容:1. 访问帮助手册,2. 有关特定主题的帮助,3. 在手册中搜索帮助短语,4. 访问在线帮助Vim是功能丰富的编辑器,因此记住它的所有功能是有一定的困难的。 但是也不需要担心,因为总是可以寻求帮助。而这个帮助是由Vim本身提供的。 在本章中,将讨论以下主题内容 - 访问帮助手册 有关特定主题的帮助 在手册中搜索帮助短语 访问在线帮助 1. 访问帮助手册 Vim编辑器本身附带了帮助手册,它非常全面。 要访问帮助可执行以下命令 - 如下图所示: 2. 有关特定主题的帮助 帮助手册将显示有关

  • 为了请求访问令牌,客户端从资源所有者获得授权。授权表现为授权许可的形式,客户端用它请求访问令牌。OAuth定义了四种许可类型:授权码、隐式许可、资源所有者密码凭据和客户端凭据。它还提供了扩展机制定义其他许可类型。

  • 你可以从以下渠道获得关于pact的帮助: Google用户群组: https://groups.google.com/forum/ Gitter: 加入 https://gitter.im/realestate-com-au/pact 和 https://gitter.im/DiUS/pact-jvm 的交流

  • 我们非常有兴趣在Envoy周围建立一个社区。如果您有兴趣使用它,需要帮助或想贡献,请联系我们。 请参阅联系信息 报告安全漏洞 请参阅安全联系信息

  • 既然你已经下定决心要学习 Perl 这门编程语言,那么摆在你面前的第 一件事就是得到它。 你有 Perl 吗 试试从命令行执行 perl -v,如果你看到 Perl 的版本及版权等信息, 那么说明你的系统已经具有 Perl。反之,如果你看到的是类似 command not found 这样的输出,那么你需要安装 Perl。 $ perl -v This is perl 5, version 18