>>> import pycurl >>> c = pycurl.Curl() >>> c.setopt(c.URL,'https://quora.com') >>> c.perform() Traceback (most recent call last): File "<stdin>",line 1,in <module> pycurl.error: (60,'SSL certificate problem: unable to get local issuer certificate') >>> >>> c.setopt(c.URL,'http://quora.com') >>> c.perform() >>> >>>
为什么无法获得本地发行人证书? 我如何解决这个问题? 当我在浏览器中打开quora.com时,我看到它的身份已被validation。 这是为什么? 我如何让pycurl使用我的浏览器使用的相同证书?
我如何安装pyCurl?
如何强制在Windows 7下的Python传出连接的特定networking接口?
问题是, pycurl需要一个最新的证书链来验证SSL证书。
这基本上是一个mozilla的内置证书链的最新副本,包装在一个python包中,可以使用pip保持最新。 certifi.where()为您提供证书包的位置。
要让pycurl使用它,请设置CAINFO选项:
import pycurl import certifi curl = pycurl.Curl() curl.setopt(pycurl.CAINFO,certifi.where()) curl.setopt(pycurl.URL,'https://www.quora.com') curl.perform()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。