【问题标题】:How to ignore an SSL: CERTIFICATE_VERIFY_FAILED error?如何忽略 SSL: CERTIFICATE_VERIFY_FAILED 错误?
【发布时间】:2019-04-06 23:49:49
【问题描述】:

遇到此错误后如何保持脚本运行?

requests.exceptions.SSLError:
HTTPSConnectionPool(host='www.funcate.org.br', port=443):最大重试次数 超出 url:/pt/portal-de-compras?file=../../../index.php%250A (由 SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败 (_ssl.c:718)'),))

【问题讨论】:

  • Editing 你的问题包括Minimal, Complete, and Verifiable example 将帮助人们帮助你。也就是说,您可能只需要一个简单的try/except。
  • ...好吧,try/except 如果您不想要不可信的内容。如果您想检索内容,则需要不同的解决方案。
  • ...另外,您真的确定要忽略错误,而不是(f/e)将证书嵌入到您的软件中以便您可以验证它,从而在不完全放弃 SSL 应该为您提供的安全性的情况下避免错误?

标签: python python-2.7 web


【解决方案1】:

您可以通过将 verify=False 作为额外参数传递给 requests.get() 函数来关闭 SSL 证书验证:

response = requests.get('https://foobar.com.br/', verify=False)

请注意,这将使您容易受到各种man in the middle attacks 的影响。使用 SSL 证书是有原因的 :-) 虽然我知道您不一定能够强制执行此操作。

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
  • @dpr 你当然是对的。我屈服于以风格回答问题的诱惑。我将相应地编辑我的答案。
  • 以问题的风格回答时,您应该省略格式?
猜你喜欢
  • 2019-08-01
  • 2012-05-10
  • 2014-07-30
  • 1970-01-01
  • 1970-01-01
  • 2011-10-19
  • 2011-02-14
  • 1970-01-01
  • 2015-12-22
相关资源
最近更新 更多