Details
-
Bug
-
Status: Closed
-
Trivial
-
Resolution: Duplicate
-
None
-
None
-
None
-
is this what you mean?
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\databricks\sql\__init__.py", line 28, in connect return Connection(server_hostname, http_path, access_token, **kwargs) File "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\databricks\sql\client.py", line 230, in __init__ self._transport = thrift.transport.THttpClient.THttpClient( File "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\thrift\transport\THttpClient.py", line 87, in __init__ self.proxy_auth = self.basic_proxy_auth_header(parsed) File "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\thrift\transport\THttpClient.py", line 101, in basic_proxy_auth_header ap = b"%s:%s" % (urllib.parse.unquote(proxy.username), TypeError: %b requires a bytes-like object, or an object that implements __bytes__, not 'str'
is this what you mean? Traceback (most recent call last): File "<stdin>" , line 1, in <module> File "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\databricks\sql\__init__.py" , line 28, in connect return Connection(server_hostname, http_path, access_token, **kwargs) File "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\databricks\sql\client.py" , line 230, in __init__ self._transport = thrift.transport.THttpClient.THttpClient( File "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\thrift\transport\THttpClient.py" , line 87, in __init__ self.proxy_auth = self.basic_proxy_auth_header(parsed) File "C:\ProgramData\Miniconda3\envs\databricks_connection\lib\site-packages\thrift\transport\THttpClient.py" , line 101, in basic_proxy_auth_header ap = b "%s:%s" % (urllib.parse.unquote(proxy.username), TypeError: %b requires a bytes-like object, or an object that implements __bytes__, not 'str'
Description
Please be gentle I'm really new and am trying to follow the guidelines best I can.
In this line
ap = "%s:%s" % (urllib.parse.unquote(proxy.username), urllib.parse.unquote(proxy.password))
cr = base64.b64encode(ap).strip()
ap returns a string, but b64encode needs bytes and returns bytes. I don't know if this is a change
the fix is pretty trivial:
ap = ("%s:%s" % (urllib.parse.unquote(proxy.username), urllib.parse.unquote(proxy.password))).encode("UTF-8") cr = base64.standard_b64encode(ap).strip().decode("UTF-8")