본문 바로가기
Python

Python - requests [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

by 올엠 2022. 11. 23.
반응형

Proxy를 사용하는 환경에서 많이 발생하는 SSL 인증오류인를 자주 확인할 수 있다.

requests.exceptions.SSLError: HTTPSConnectionPool(host='httpbin.org', port=443): Max retries exceeded with url: /delay/4 (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')))

SSL 인증은 requests 모듈의 verify를 비활성화하여 진행이 가능하다. 이말은 SSL 확인을 비활성화 하겠다는 소리이다.

SSL은 해당 기관이 발급한 인증서가 맞는지 확인하여 접근하는 주소가 맞는지 확인하는 보안 요소인데, 이러한 체크를 하지 않겠다는 의미이다.

requests.get('{url}', verify=False)

코드상으로는 아래와 같이 적용할 수 있다.

import requests

requests.get(f'https://httpbin.org/delay/4',verify=False)

만약 별도의 인증서가 있는 경우 해당 인증서의 경로를 지정하는 방법도 사용할 수 있다.

import requests

requests.get(f'https://httpbin.org/delay/4', verify='/path/to/certfile')

 

참조

 

Advanced Usage — Requests 2.28.1 documentation

Advanced Usage This document covers some of Requests more advanced features. Session Objects The Session object allows you to persist certain parameters across requests. It also persists cookies across all requests made from the Session instance, and will

requests.readthedocs.io

반응형

댓글0