urllib3.disable_warnings를 사용하는 이유
- InsecureRequestWarning 시스템 에러의 예외 처리를 위함
InsecureRequestWarning 시스템 에러 발생 이유
- 크롤링 시에 requests 모듈을 사용해 웹 사이트의 소스 코드를 가져오는 경우가 많음
- 이 때 신뢰하지 않은 SSL인증서가 설치되어 있는 https사이트 접속 시 SSLError가 발생하게 됨
- SSL은 Secure Sockets Layer(소켓 보안 계층)의 약어로써, 인터넷 상에서 데이터 통신 보안을 제공하는 암호 프로토콜을 의미
- SSLError를 해결하기 위한 방법으로 request.get에 verify=False옵션을 사용
- verify=False옵션은 HTTPS 요청에 대한 SSL 인증서 확인 과정을 생략하겠다는 의미
- SSL 인증서 검증을 하지 않도록 옵션 설정 후 실행 시 InsecureRequestWarning 이라고 시스템 에러 발생
# error message
InsecureRequestWarning: Unverified HTTPS request is being made to host 'www.google.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings
warnings.warn(...
- 해당 에러의 예외 처리를 위해
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) or urllib3.disable_warnings() 를 작성해줌
💻 Test Code
import request
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
if __name__ == '__main__':
res = request.get(url, verify=False)
참고
utllib3: https://sun2day.tistory.com/226
SSL: https://blog.daum.net/geoscience/1485