Webアプリケーションが複数のURLを要求し、SSL証明書のエラーが発生することがあります。彼らはすべてのサードパーティのURLですので、私はそのエラーを修正することはできませんし、それらをログに記録したくないです。それにもかかわらず、何かがそれ自身でこれを記録しています:2017-08-05 00:22:49,496 ERROR -- : Certificate did not match expected hostname: www.improving-autonomy.org. Certificate: {'subjectAltName': [('DNS', '*.wordpress.com'), ('DNS', 'wordpress.com')], 'subject': ((('commonName', u'*.wordpress.com'),),)}
誰でも私はそれを止めることができますか?私のコードは以下の通りです。事前に多くの感謝!'証明書が期待されたホスト名と一致しませんでした'というログを記録しないエラーメッセージ
try :
ua = UserAgent()
headers = {'Content-Type' : 'text/html', 'Accept-Encoding' : None, 'User-Agent' : ua.random}
response = requests.get(url, headers=headers, timeout=10)
except ssl.CertificateError as e :
pass
- : それは要求モジュールのログを(connection.py)のように見えます。私がすでに同じ例外を捕まえているのであれば、なぜロギングを続けるのですか?
def _match_hostname(cert, asserted_hostname):
try:
match_hostname(cert, asserted_hostname)
except CertificateError as e:
log.error(
'Certificate did not match expected hostname: %s. '
'Certificate: %s', asserted_hostname, cert
)
# Add cert to exception and reraise so client code can inspect
# the cert when catching the exception, if they want to
e._peer_cert = cert
raise
デバッガをトレースして、実際にログが記録されている場所を確認しましたか?おそらく、エラーのチェックがあり、エラーが検出され、ログが作成され、例外が発生したようです。しかし、コードをトレースすることで検証する必要があります。 – idjaw
これはリクエストモジュールで発生しています。 connection.pyファイル –
アイデア?私はすでに同じ例外をキャッチしています。とにかくそれ自身でログを記録するのはなぜですか? –