From 1881ef1f3505673b5eb2f7dffff2c2e7321386b4 Mon Sep 17 00:00:00 2001 From: Sky Brewer Date: Fri, 20 Mar 2026 13:45:06 +0100 Subject: [PATCH 1/2] Optionally verify ssl --- channelfinder/ChannelFinderClient.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/channelfinder/ChannelFinderClient.py b/channelfinder/ChannelFinderClient.py index bc971df..44ff689 100644 --- a/channelfinder/ChannelFinderClient.py +++ b/channelfinder/ChannelFinderClient.py @@ -28,7 +28,7 @@ class ChannelFinderClient(object): __propertiesResource = "/resources/properties" __tagsResource = "/resources/tags" - def __init__(self, BaseURL=None, username=None, password=None): + def __init__(self, BaseURL=None, username=None, password=None, verify_ssl=True): """ Channel finder client object. It provides a connection object to perform the following operations: - find: find all channels satisfying given searching criteria @@ -40,15 +40,20 @@ def __init__(self, BaseURL=None, username=None, password=None): :param username: user name authorized by channel finder service :param password: password for the authorized user """ - self.__baseURL = self.__getDefaultConfig("BaseURL", BaseURL) - self.__userName = self.__getDefaultConfig("username", username) - self.__password = self.__getDefaultConfig("password", password) - if self.__userName and self.__password: - self.__auth = auth.HTTPBasicAuth(self.__userName, self.__password) - else: - self.__auth = None - self.__session = requests.Session() - self.__session.mount(self.__baseURL, HTTPAdapter()) + try: + self.__baseURL = self.__getDefaultConfig("BaseURL", BaseURL) + self.__userName = self.__getDefaultConfig("username", username) + self.__password = self.__getDefaultConfig("password", password) + self.__verify_ssl = self.__getDefaultConfig("verify_ssl", verify_ssl) + if self.__userName and self.__password: + self.__auth = auth.HTTPBasicAuth(self.__userName, self.__password) + else: + self.__auth = None + self.__session = requests.Session() + self.__session.mount(self.__baseURL, HTTPAdapter()) + self.__session.verify = self.__verify_ssl + except Exception as e: + raise RuntimeError("Error creating ChannelFinderClient: " + str(e)) def __getDefaultConfig(self, key, ref): """ From 3f80ff6c2d30bff690a73be2cb1fccdd47d3bebd Mon Sep 17 00:00:00 2001 From: Sky Brewer Date: Fri, 20 Mar 2026 16:11:41 +0100 Subject: [PATCH 2/2] ignore warnings from urllib3 --- channelfinder/ChannelFinderClient.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/channelfinder/ChannelFinderClient.py b/channelfinder/ChannelFinderClient.py index 44ff689..6550a49 100644 --- a/channelfinder/ChannelFinderClient.py +++ b/channelfinder/ChannelFinderClient.py @@ -12,6 +12,7 @@ from requests import auth from requests.adapters import HTTPAdapter from requests.exceptions import HTTPError +import urllib3 from copy import copy try: @@ -52,6 +53,8 @@ def __init__(self, BaseURL=None, username=None, password=None, verify_ssl=True): self.__session = requests.Session() self.__session.mount(self.__baseURL, HTTPAdapter()) self.__session.verify = self.__verify_ssl + if not self.__session.verify: + urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) except Exception as e: raise RuntimeError("Error creating ChannelFinderClient: " + str(e))