import pycurl
import certifi

c = pycurl.Curl()

c.setopt(pycurl.CAINFO, certifi.where())
c.setopt(c.VERBOSE, True)

print(certifi.where())
c.setopt(c.URL, 'https://XXXXX.com/api/asset/4615/maintenance/')

c.setopt(c.WRITEDATA, buf)
c.perform()
c.close()

结果是:

  • 试用XX.XX.XX.XX ......

  • 已连接到XXXX端口XXX(#0)

  • ALPN,提供http / 1.1

  • 密码选择:ALL:!导出:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH

  • 成功设置证书验证位置:

  • CAfile:C:\ Users \ XXX \ AppData \ Local \ Programs \ Python \ Python35 \ lib \ site-packages \ certifi \ cacert.pem CApath:none

  • SSL证书问题:无法获得本地颁发者证书

  • 关闭连接0回溯(最近一次调用最后一次):文件"C:/Users/XXX/PycharmProjects/automation/automation.py",第27行,在c.perform()中pycurl.error:(60,'SSL certificate problem: unable to get local issuer certificate')

我目前正在尝试使用REST API从网站获取一些信息,并且它具有SSL . 我将该appache网站的.cer SSL证书添加到cacert.pem文件的末尾,但仍然给我这个错误 . 我注意到“CApath:none”,但我不知道如何解决它 . 任何帮助都会很感激 .