gpt4 book ai didi

python - 希望解决在本地主机上运行的 Google Plus API 命令行 Python 入门工具包中的 SSL 错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:19:10 24 4
gpt4 key购买 nike

我正在尝试获取 command-line Python starter for Google Plus API工作,但在身份验证完成后,我遇到了这个错误:

ssl.SSLError: [Errno 185090050] _ssl.c:336: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib

我在 Ubuntu 11.04 上运行 Python 2.7。 API 使用 httplib2 发送请求。我正在从 localhost 运行入门工具包。


这是终端转储:

Traceback (most recent call last):
File "/home/vijay/Downloads/google-plus-python-starter/cli/plus_cli.py", line 114, in <module>
main()
File "/home/vijay/Downloads/google-plus-python-starter/cli/plus_cli.py", line 62, in main
credentials = authorize_self(settings.CLIENT_ID,settings.CLIENT_SECRET)
File "/home/vijay/Downloads/google-plus-python-starter/cli/plus_cli.py", line 48, in authorize_self
credentials = run(flow, storage)
File "/home/vijay/Downloads/googleapi/oauth2client/tools.py", line 146, in run
credential = flow.step2_exchange(code)
File "/home/vijay/Downloads/googleapi/oauth2client/client.py", line 698, in step2_exchange
headers=headers)
File "/home/vijay/Downloads/googleapi/httplib2/__init__.py", line 1436, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/home/vijay/Downloads/googleapi/httplib2/__init__.py", line 1188, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "/home/vijay/Downloads/googleapi/httplib2/__init__.py", line 1123, in _conn_request
conn.connect()
File "/home/vijay/Downloads/googleapi/httplib2/__init__.py", line 890, in connect
self.disable_ssl_certificate_validation, self.ca_certs)
File "/home/vijay/Downloads/googleapi/httplib2/__init__.py", line 76, in _ssl_wrap_socket
cert_reqs=cert_reqs, ca_certs=ca_certs)
File "/usr/lib/python2.7/ssl.py", line 344, in wrap_socket
ciphers=ciphers)
File "/usr/lib/python2.7/ssl.py", line 119, in __init__
ciphers)
ssl.SSLError: [Errno 185090050] _ssl.c:336: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib`

我尝试让这个工作的事情:

  1. 手动将 cacerts.txt 从 http://httplib2.googlecode.com/hg-history/6525cadfde53279479533c1235e2661f5c147afc/python2/httplib2/cacerts.txt 复制到 /usr/lib/python2。 7/dist-packages/httplib2
  2. 已将 httplib2 更新至最新版本 0.7.1
  3. 使用 httplib2.Http(disable_ssl_certificate_validation=True)
  4. 在从初学者工具包 (plus_cli.py) 中的文件进行的所有 httplib2 调用中禁用 SSL

我没有想法,需要你的帮助来解决这个问题。

最佳答案

万一有人出现类似错误(错误代码185090050):

我在使用 Dropbox API 时遇到了同样的问题。问题是无法加载包含证书信息的文件;在我的例子中,这是因为 pyInstaller,它与 Dropbox SKD 使用的 pkg_resources 不兼容。只需将 Dropbox 的 rest.py 中分配证书的行编辑为以下内容:

TRUSTED_CERT_FILE =  'trusted-certs.crt'

而不是使用 pkg_resources,并将受信任的证书列表与应用程序一起分发。 Python SSL 库显示非常不透明的错误消息,但实际上,它只是一个丢失的文件...

关于python - 希望解决在本地主机上运行的 Google Plus API 命令行 Python 入门工具包中的 SSL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7451859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com