You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用SerpAPI首次运行正常,二次运行报SSL证书验证失败错误

解决SerpAPI二次运行时的SSL证书验证失败问题

针对你遇到的首次运行正常、二次运行触发SSLCertVerificationError的问题,可尝试以下几种解决方案:

1. 临时禁用SSL验证(仅测试环境使用)

修改代码,关闭SerpAPI底层请求的SSL证书验证:

from serpapi import GoogleSearch

params = {
    "api_key": "SecretApiKey",
    "device": "desktop",
    "engine": "home_depot",
    "q": "chair"
}

search = GoogleSearch(params)
# 关闭SSL验证
search.session.verify = False
results = search.get_dict()
print(results)

注意:此方法会降低安全性,禁止在生产环境使用。

2. 更新本地根证书

多数情况下,错误源于系统根证书缺失或过期:

  • Windows:打开「Internet选项」→「内容」→「证书」,导入或更新权威根证书
  • macOS:运行Python安装目录下的Install Certificates.command(如/Applications/Python 3.11/Install Certificates.command),或通过「钥匙串访问」更新根证书
  • Linux:重新安装CA证书包,以Ubuntu为例:
    sudo apt-get install --reinstall ca-certificates
    

3. 指定自定义CA证书路径

若你有合法的CA证书文件,可直接指定路径:

from serpapi import GoogleSearch

params = {
    "api_key": "SecretApiKey",
    "device": "desktop",
    "engine": "home_depot",
    "q": "chair"
}

search = GoogleSearch(params)
# 替换为你的CA证书文件实际路径
search.session.verify = "/usr/local/share/ca-certificates/your-cert.pem"
results = search.get_dict()
print(results)

4. 重置请求Session

避免复用首次请求的连接池,每次请求创建新的Session:

from serpapi import GoogleSearch
import requests

params = {
    "api_key": "SecretApiKey",
    "device": "desktop",
    "engine": "home_depot",
    "q": "chair"
}

search = GoogleSearch(params)
# 重置为新的Session
search.session = requests.Session()
results = search.get_dict()
print(results)

内容的提问来源于stack exchange,提问作者iced

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:25:40