首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么'https://revoked.badssl.com/‘和'https://pinning-test.badssl.com/’使用Python返回200个响应?

为什么'https://revoked.badssl.com/‘和'https://pinning-test.badssl.com/’使用Python返回200个响应?
EN

Stack Overflow用户
提问于 2022-10-18 11:21:01
回答 1查看 37关注 0票数 1

我正在处理Python并测试来自https://badssl.com/证书部分的URL,除了https://revoked.badssl.com/https://pinning-test.badssl.com/之外,所有无效URL都返回错误。他们正在用200 status codes作出反应。我希望有人解释为什么会发生这种情况,尽管页面显示了错误,比如NET::ERR_CERT_REVOKEDNET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN,前者和后者分别是错误的。

代码语言:javascript
复制
import requests
def check_connection():
    url='https://revoked.badssl.com/' or 'https://pinning-test.badssl.com/'
    try:
        r = requests.get(url)
        r.raise_for_status()
        print(r)
    except requests.exceptions.RequestException as err:
        print ("OOps: Something Else",err)
    except requests.exceptions.HTTPError as errh:
        print ("Http Error:",errh)
    except requests.exceptions.ConnectionError as errc:
        print ("Error Connecting:",errc)
    except requests.exceptions.Timeout as errt:
        print ("Timeout Error:",errt)

check_connection()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-18 12:09:35

您不会得到与"NET::ERR_CERT_REVOKED“消息类似的消息,因为requests只是一个HTTP请求工具;它不是一个浏览器。如果要查询OCSP响应程序以查看服务器证书是否已被吊销,则可以使用ocsp module进行此操作。有一个例子,here

答案将类似于"NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN";requests模块不是实现证书钉扎的高级工具。事实上,即使主要浏览器的开发构建也没有实现这一点;在https://github.com/chromium/badssl.com/issues/15中有一些关于这个问题的有趣讨论。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74110109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档