>  기사  >  백엔드 개발  >  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:381149검색

e의 urllib3의 ssl.SSLError(f\read error: {e!r}\) 정보

오류의 원인

python의 urllib3은 URL을 처리하는 라이브러리로 Http 요청을 보내는 데 사용할 수 있습니다. ssl.SSLError(f"read error: {e!r}")는 urllib3을 사용하는 동안 문제가 발생했음을 나타내는 오류입니다. 이 오류는 네트워크 연결 문제로 인해 발생하거나 연결된 웹사이트에서 인증서 확인을 사용하고 클라이언트가 확인을 통과하지 못하기 때문에 발생할 수 있습니다. 또한 인증서가 만료되었거나 신뢰할 수 있는 CA에서 인증서를 발급하지 않았기 때문에 인증서 확인이 실패할 수 있습니다.

해결 방법

이 오류의 경우 다음 방법을 사용하여 해결할 수 있습니다.

네트워크 연결이 정상적인지 확인하고 다시 연결하거나 네트워크를 변경해 보세요.

인증서 확인을 비활성화하려면 verify = False를 사용하세요. 하지만 이렇게 하면 연결된 웹사이트가 안전하지 않게 됩니다.

요청과 같은 요청을 보내려면 코드의 다른 라이브러리를 사용하세요.

확인을 위해 적절한 인증서를 사용하세요. 자체 서명된 인증서인 경우 프로그램으로 가져올 수 있습니다.

확인을 위해 사용자 지정 CA 인증서를 사용하세요.

인증서 만료로 인해 오류가 발생한 경우 업데이트해야 합니다. 인증서

두 번째 방법을 사용하면 문제를 해결할 수 있지만 웹사이트 연결이 안전하지 않게 된다는 점에 유의해야 합니다. 따라서 문제를 해결하려면 다른 방법을 사용하는 것이 좋습니다.

사용 예

물론이죠.

다음은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lsjlt.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제