使用 Selenium webdriver 获取网页的 SSL pem 证书

问题描述

我需要使用 Python 请求库检索某些网页上的信息。问题是,对于其中一些网页,SSL 链已损坏(我们没有中介),因此 Requests 会引发 SSLError“无法获得本地颁发者证书”。我可以要求 Requests 不检查 SSL (verify=False),但出于安全原因我不想这样做。

当通过网络浏览器访问同一页面时,这个问题不再存在,因为浏览器正在执行 AIA 获取以检索 SSL 链中缺少的中介,所以我想我会使用无头 Selenium 而不是请求,因为它使用的是实际浏览器,所以 AIA 获取将完成。这实际上是有效的,所以我使用请求,如果出现 SSL 错误,我会切换到 Selenium。但是,由于与此问题无关的原因,我只想使用 Requests 来实际获取信息,因此我想通过请求正确的 .pem 文件(使用“verify=PATH_TO_PEM”)。我想要的是从 Selenium 获取这个完整的 pem 文件。这基本上是我想要的伪代码

get_data(url):
  try:
    r = requests.get(url)
    return data_from_response(r)
  except SSLError:
    webdriver.get(url)  # selenium
    ssl_pem = get_pem_file(webdriver)
    r = requests.get(url,verify=ssl_pem)
    return data_from_response(r)

我缺少的是“get_pem_file”函数。这可能吗 ?如果是这样,如何?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)