fix: InsecureSslAdapter с ssl._create_unverified_context для обхода самоподписанных сертификатов
This commit is contained in:
1 parent
6836060de8
commit
ad450ccb12
1 file changed
+17
-2
@@ -9,6 +9,7 @@ PoC-скрипт для автоматической выгрузки релиз
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import sys
|
import sys
|
||||||
|
import ssl
|
||||||
import time
|
import time
|
||||||
import warnings
|
import warnings
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
@@ -18,9 +19,21 @@ from typing import Any, Dict, List, Optional, Tuple
|
|||||||
|
|
||||||
import requests
|
import requests
|
||||||
import yaml
|
import yaml
|
||||||
import urllib3
|
from requests.adapters import HTTPAdapter
|
||||||
|
from urllib3.poolmanager import PoolManager
|
||||||
|
|
||||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
|
||||||
|
class InsecureSslAdapter(HTTPAdapter):
|
||||||
|
"""Adapter that bypasses SSL verification entirely."""
|
||||||
|
def init_poolmanager(self, *args, **kwargs):
|
||||||
|
ctx = ssl._create_unverified_context()
|
||||||
|
kwargs["ssl_context"] = ctx
|
||||||
|
return super().init_poolmanager(*args, **kwargs)
|
||||||
|
|
||||||
|
def proxy_manager_for(self, *args, **kwargs):
|
||||||
|
ctx = ssl._create_unverified_context()
|
||||||
|
kwargs["ssl_context"] = ctx
|
||||||
|
return super().proxy_manager_for(*args, **kwargs)
|
||||||
|
|
||||||
logger = logging.getLogger("sandbox_gitflic")
|
logger = logging.getLogger("sandbox_gitflic")
|
||||||
|
|
||||||
@@ -164,6 +177,7 @@ class GitFlicClient:
|
|||||||
})
|
})
|
||||||
if not self.verify_ssl:
|
if not self.verify_ssl:
|
||||||
self._session.verify = False
|
self._session.verify = False
|
||||||
|
self._session.mount("https://", InsecureSslAdapter())
|
||||||
logger.warning("Проверка SSL-сертификата отключена для GitFlic")
|
logger.warning("Проверка SSL-сертификата отключена для GitFlic")
|
||||||
|
|
||||||
def _request(self, method: str, path: str, **kwargs) -> requests.Response:
|
def _request(self, method: str, path: str, **kwargs) -> requests.Response:
|
||||||
@@ -361,6 +375,7 @@ class PTSandboxClient:
|
|||||||
})
|
})
|
||||||
if not self.verify_ssl:
|
if not self.verify_ssl:
|
||||||
self._session.verify = False
|
self._session.verify = False
|
||||||
|
self._session.mount("https://", InsecureSslAdapter())
|
||||||
logger.warning("Проверка SSL-сертификата отключена для PT Sandbox")
|
logger.warning("Проверка SSL-сертификата отключена для PT Sandbox")
|
||||||
|
|
||||||
def upload_file(self, file_path: Path) -> Optional[str]:
|
def upload_file(self, file_path: Path) -> Optional[str]:
|
||||||
|
|||||||
Reference in new issue
Block a user