ホームページ  >  記事  >  バックエンド開発  >  e からの urllib3 の ssl.SSLError(f\"read error: {e!r}\") について

e からの urllib3 の ssl.SSLError(f\"read error: {e!r}\") について

WBOY
WBOY転載
2024-02-29 18:13:381151ブラウズ

e からの urllib3 の ssl.SSLError(f\read error: {e!r}\) について

エラーの理由

urllib3 は、python で URL を処理するために使用されるライブラリです。Http の送信に使用できます。 # ##聞く。 ssl.SSLError(f"read error: {e!r}") は、urllib3 の使用中に問題が発生したことを示すエラーです。このエラーは、ネットワーク 接続の問題、または接続された Web サイトが証明書検証を使用しており、クライアントが検証に失敗したことが原因である可能性があります。さらに、証明書の有効期限が切れているか、証明書が信頼できる CA によって発行されていないために、証明書の検証が失敗する可能性があります。

解決方法

このエラーについては、次の方法で解決できます。

ネットワーク接続が正常であることを確認し、再接続するかネットワークを変更してください。 。

証明書の検証を無効にするには verify = False を使用しますが、これを行うと、接続された Web サイトが安全でなくなります。

コード内で他のライブラリを使用して、 request などのリクエストを送信します。

検証には適切な証明書を使用してください。自己署名証明書の場合は、プログラムにインポートできます。

検証にはカスタム CA 証明書を使用してください。

「証明書の有効期限が原因でエラーが発生したため、証明書を更新する必要があります」の場合は、

#2 番目の方法を使用すると問題は解決できますが、Web サイトの接続が安全でなくなることに注意してください。したがって、問題を解決するには他の方法を使用することをお勧めします。

使用例

もちろんです。

次は、urllib3 ライブラリを使用して

https

リクエストを送信するときに証明書の検証を無効にするサンプル コードです:

import urllib3

http = urllib3.PoolManager()
response = http.request('GET', 'https://example.com', verify=False)
print(response.data)
以下は、リクエスト ライブラリを使用して https リクエストを送信するときに証明書の検証を無効にするサンプル コードです:
import requests

response = requests.get('https://example.com', verify=False)
print(response.text)

次は、リクエスト ライブラリを使用して https リクエストを送信するときにカスタム証明書検証を使用するサンプル コードです:

import requests

response = requests.get('https://example.com', verify='path/to/ca_cert.pem')
print(response.text)

カスタム証明書検証を使用する場合、証明書ファイルは PEM 形式であり、パスが正しい必要があることに注意してください。

エラーが証明書の有効期限切れによって引き起こされた場合は、証明書を更新する必要があることにも注意してください。

以上がe からの urllib3 の ssl.SSLError(f\"read error: {e!r}\") についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlsjlt.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。