Skip to content

Instantly share code, notes, and snippets.

@ghostflare76
Created February 10, 2025 09:01
Show Gist options
  • Save ghostflare76/d4a21dc3a8bf63ac872baecafac08492 to your computer and use it in GitHub Desktop.
Save ghostflare76/d4a21dc3a8bf63ac872baecafac08492 to your computer and use it in GitHub Desktop.
import certifi
import requests
import urllib3
from requests.adapters import HTTPAdapter
from urllib3.util.ssl_ import create_urllib3_context
# **********************************************************
# 전역 monkey patch를 적용하여 SSL 검증을 비활성화합니다.
# 모든 requests.Session.request 호출 시 verify=False로 설정됩니다.
# **********************************************************
original_request = requests.Session.request
def patched_request(self, *args, **kwargs):
if 'verify' not in kwargs:
kwargs['verify'] = False # 인증서 검증을 비활성화함 (개발 환경에서만 사용)
return original_request(self, *args, **kwargs)
requests.Session.request = patched_request
# 경고 메시지 비활성화 (개발 환경에서만 사용 권장)
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
# 기본 SSL 인증서 경로 지정 (추가적인 검사용)
os.environ['REQUESTS_CA_BUNDLE'] = certifi.where()
os.environ['SSL_CERT_FILE'] = certifi.where()
# 기존의 CustomHTTPAdapter (참고용, 필요 시 사용)
class CustomHTTPAdapter(HTTPAdapter):
def init_poolmanager(self, connections, maxsize, block=False, **pool_kwargs):
ctx = create_urllib3_context(ciphers="DEFAULT@SECLEVEL=1")
pool_kwargs['ssl_context'] = ctx
return super(CustomHTTPAdapter, self).init_poolmanager(connections, maxsize, block=block, **pool_kwargs)
def proxy_manager_for(self, *args, **kwargs):
ctx = create_urllib3_context(ciphers="DEFAULT@SECLEVEL=1")
kwargs['ssl_context'] = ctx
return super(CustomHTTPAdapter, self).proxy_manager_for(*args, **kwargs)
# 사용자 정의 세션 생성 (현재 ComposioToolSet에 session 인자는 사용되지 않음)
session = requests.Session()
adapter = CustomHTTPAdapter()
session.mount("https://", adapter)
@ghostflare76
Copy link
Author

import ssl_path

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment