【问题标题】:SSLHandshakeError certificate verify failedSSLHandshakeError 证书验证失败
【发布时间】:2015-07-20 15:43:18
【问题描述】:

我正在尝试使用 gspread 和 python 从我的 Windows 桌面写入电子表格。以下代码适用于我的 mac 笔记本电脑,但在 pc 上运行时,我收到 SSLHandshakeError。我已确保程序可以使用必要的文件,并尝试创建新项目但没有成功,我总是遇到同样的错误。

代码如下:

#databaseTest.py
import sys
import os
import pyodbc
import json, gspread
from oauth2client.client import SignedJwtAssertionCredentials

json_key = json.load(open('H:\MyProject-ee653db0fe92.json'))
scope = ['https://spreadsheets.google.com/feeds', 'https://docs.google.com/feeds']
credentials = SignedJwtAssertionCredentials(json_key['client_email'], json_key['private_key'], scope)
print "Authorizing..."
try:
    gc = gspread.authorize(credentials)
    input("Done")
except:
    print "SSL error"
    input("Something went wrong")
    gspread.authorize(credentials)

这是我得到的错误的最后一部分:

File "C:\Python27\lib\site-packages\httplib2\__init__.py", line 1059, in connect
raise SSLHandshakeError(e)
httplib2.SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

【问题讨论】:

    标签: python-2.7 google-sheets ssl-certificate verify gspread


    【解决方案1】:

    事实证明,从桌面连接到电子表格的问题是由它所连接的网络引起的。笔记本电脑连接到不同的网络,因此可以与电子表格进行通信,但台式机的网络有许多防火墙和安全措施可以防止这种情况发生。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,在调试 Google Lib 时发现原因是我使用的是旧版本的 httplib2(0.9.2)。当我更新到最新的 (0.14.0) 时,它起作用了。

      如果您已经安装了最新版本,请确保某些库没有在其依赖项中安装旧版本的 httplib2

      【讨论】:

        猜你喜欢
        • 2012-03-15
        • 2022-01-15
        • 2018-03-15
        • 2015-11-13
        • 2021-11-26
        • 2018-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多