Programming/Python
python request SSL 에러
remake
2023. 12. 19. 18:37
파이썬에서 request를 할때 SSL 에러가 발생하는데요.
아래와 같이 certificate verify failed라는 메시지가 발생합니다.
Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
말 그대로 SSL 인증서가 오류가 있어서 인증이 되지 않는 케이스입니다.
이 경우 크게 2가지 방법으로 처리가 가능한데요.
ssl 인증서 예외처리
먼저 SSL에서 인증서를 예외처리하는 방식으로 처리할 수 있습니다.
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
위의 형태와 아래처럼 에러가 나타났을때 _create_unverified_context에 대해서만 if 문으로 처리하는 방법도 있습니다.
전체를 처리하는 방법보다는 에러가 나타났을때만 예외처리해서 문제를 최소화할수 있습니다.
if hasattr (ssl, '_create_unverified_context') :
ssl._create_default_https_context = ssl._create_unverified_context
Request 예외처리
import requests
response = requests.get(url, verify=False)
다만 이경우 에러 메시지가 발생하는데요.
에러를 없애기 위해서는 아래와 같은 메시지를 추가해줘야 합니다.
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
간단하게 하려면
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
그러면 이 문제를 잘 해결하시기 바랍니다.