From c1d9d43f59eb66f881d7233e9ab2a956c8794a7f Mon Sep 17 00:00:00 2001 From: sebastien <2827759+slallemand@users.noreply.github.com> Date: Sat, 4 Mar 2023 14:55:03 +0100 Subject: [PATCH] fix basic auth (domoticz new version) --- veolia-idf-domoticz.py | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/veolia-idf-domoticz.py b/veolia-idf-domoticz.py index 96bb075..cb30329 100755 --- a/veolia-idf-domoticz.py +++ b/veolia-idf-domoticz.py @@ -825,28 +825,19 @@ def __init__(self, config_dict, super_print, debug=False): retries=1, timeout=int(str(self.configuration["timeout"])) ) + self.headers = urllib3.make_headers() + def open_url(self, uri, data=None): # pylint: disable=unused-argument # Generate URL url_test = str(self.configuration["domoticz_server"]) + uri - # Add Authentication Items if needed - if self.configuration["domoticz_login"] != "": - b64domoticz_login = base64.b64encode( - str(self.configuration["domoticz_login"]).encode() - ) - b64domoticz_password = base64.b64encode( - str(self.configuration["domoticz_password"]).encode() - ) - url_test = ( - url_test - + "&username=" - + b64domoticz_login.decode() - + "&password=" - + b64domoticz_password.decode() - ) + if self.configuration["domoticz_login"] != "" and self.configuration["domoticz_password"] != "": + http_auth = ':'.join((self.configuration["domoticz_login"] , self.configuration["domoticz_password"] )) + + self.headers.update(urllib3.make_headers(basic_auth=http_auth)) try: - response = self.__http.request("GET", url_test) + response = self.__http.request("GET", url_test, headers=self.headers) except urllib3.exceptions.MaxRetryError as e: # HANDLE CONNECTIVITY ERROR raise RuntimeError("url=" + url_test + " : " + str(e))