6

我正在使用 httplib2 调用 Amazon Web Services (AWS):

http = httplib2.Http(cache='.cache')
response, content = http.request('https://sdb.amazonaws.com/...')

但是它无法寻找 CA(我认为):

File "C:\Python32\lib\site-packages\httplib2\__init__.py", line 1059, in request self.disable_ssl_certificate_validation)
File "C:\Python32\lib\site-packages\httplib2\__init__.py", line 772, in __init__ context.load_verify_locations(ca_certs)
IOError: [Errno 2] No such file or directory

我的问题:

  1. 我需要做些什么来配置我的操作系统和环境才能使其正常工作吗?
  2. 我看过很多关于确保在 Python 2 中为 SSL 构建套接字库的帖子;这适用于 Python 3 吗?

谢谢!

4

3 回答 3

5

httplib2 /Python3 文件夹缺少 cacerts.txt,因此它不会被复制到 Python /lib 文件夹。我在那里手动复制了文件,一切正常。这是 httplib2 的一个已知问题。

于 2011-08-13T15:23:19.920 回答
0

我知道游戏晚了,但我的问题与我的 bash 配置文件中的错误 PYTHONPATH 命令有关,因此该目录被放置在不正确的位置。

解决方案是删除我的 bash 配置文件中的 PYTHONPATH 命令,瞧。

于 2015-11-30T06:03:39.040 回答
0

I spent hours trying to figure this out and finally I have an answer. This can happen on Windows if the certificate (CA) file is blocked if you downloaded it from another source or computer. Right click on the cert file and check the "unblock" box.

于 2020-02-29T19:07:25.257 回答