我正在處理來自https://badssl.com/證書部分的 Python 請求和測驗 URL,所有無效 URL 都回傳錯誤,除了https://revoked.badssl.com/和https://pinning-test。 badssl.com/。他們以200 status codes. 我希望有人解釋為什么會發生這種情況,盡管頁面分別顯示了前者和后者的NET::ERR_CERT_REVOKED錯誤。NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN
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()
uj5u.com熱心網友回復:
因為它只是一個 HTTP 請求工具,所以你沒有得到類似于 " NET::ERR_CERT_REVOKED" 的訊息;requests它不是瀏覽器。如果您想查詢 OCSP 回應程式以查看服務器證書是否已被吊銷,您可以使用該ocsp模塊來執行此操作。這里有一個例子。
“”的答案將是相似的NET::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN;該requests模塊不是那種實作證書固定的高級工具。事實上,即使是主流瀏覽器的開發版本也沒有實作這一點;在https://github.com/chromium/badssl.com/issues/15中有一些關于這個問題的有趣討論。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/517907.html
