Created
February 10, 2025 09:01
-
-
Save ghostflare76/d4a21dc3a8bf63ac872baecafac08492 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
import ssl_path