通过 Oauth 进行身份验证时 SSL 抛出错误 185090050 [英] SSL throwing error 185090050 while authentication via Oauth
本文介绍了通过 Oauth 进行身份验证时 SSL 抛出错误 185090050的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用 Google 的 Oauth 连接到 Google Adsense,但出现此错误.有什么解决办法吗?
I am trying use Google's Oauth to connect to Google adsense and am getting this error. Any clues to fix it?
有人在python中遇到过这样的问题吗?
Anyone has faced such a issue before in python?
Traceback (most recent call last):
File "get_all_saved_reports.py", line 56, in <module>
main(sys.argv)
File "get_all_saved_reports.py", line 36, in main
service = sample_utils.initialize_service()
File "/home/nish/Programs/python/google-adsense/samples/adsense/sample_utils.py", line 114, in initialize_service
credentials = prepare_credentials()
File "/home/nish/Programs/python/google-adsense/samples/adsense/sample_utils.py", line 95, in prepare_credentials
credentials = run(FLOW, storage)
File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.1-py2.7.egg/oauth2client/util.py", line 128, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.1-py2.7.egg/oauth2client/tools.py", line 197, in run
credential = flow.step2_exchange(code, http=http)
File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.1-py2.7.egg/oauth2client/util.py", line 128, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/oauth2client-1.1-py2.7.egg/oauth2client/client.py", line 1283, in step2_exchange
headers=headers)
File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 1571, in request
(response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 1318, in _request
(response, content) = self._conn_request(conn, request_uri, method, body, headers)
File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 1253, in _conn_request
conn.connect()
File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 1022, in connect
self.disable_ssl_certificate_validation, self.ca_certs)
File "/usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/__init__.py", line 80, in _ssl_wrap_socket
cert_reqs=cert_reqs, ca_certs=ca_certs)
File "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
ciphers=ciphers)
File "/usr/lib/python2.7/ssl.py", line 141, in __init__
ciphers)
ssl.SSLError: [Errno 185090050] _ssl.c:340: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
推荐答案
我在使用 Python 2.7.5 的 oauth2(对于 Twitter API,而不是 Google)中遇到了这个确切的 x509 错误,并使用了 Akshay Valsa 的建议并更改了 cacerts 的权限.txt 与
I was getting this exact x509 error in oauth2 (for Twitter API, not Google) with Python 2.7.5 and used Akshay Valsa's advice and changed the permissions on cacerts.txt with
chmod 644 /usr/local/lib/python2.7/dist-packages/httplib2-0.8-py2.7.egg/httplib2/cacerts.txt
这解决了问题,我现在可以以普通用户身份运行我的模块,而不是 sudo 它.谢谢!
That fixed the problem and I can now run my module as an ordinary user instead of sudoing it. Thanks!
这篇关于通过 Oauth 进行身份验证时 SSL 抛出错误 185090050的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文