我已使用以下python代码连接到Tableau Server:
将tableauserver客户端导入为TSC
tableau_auth = TSC.TableauAuth('username','password')
服务器= TSC.Server('https://server_name.com/')
server.auth.sign_in(tableau_auth)
但是我遇到以下错误:
回溯(最近通话最近):
wrap_socket中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ contrib \ pyopenssl.py”,行444
cnx.do_handshake()
do_handshake中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ OpenSSL \ SSL.py”,行1443
self._raise_ssl_error(self._ssl,结果)
文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ OpenSSL \ SSL.py”,行1191,在_raise_ssl_error中
_raise_current_error()
文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ OpenSSL_util.py”,第48行,在exception_from_error_queue中
引发exception_type(错误)
OpenSSL.SSL.Error:[('SSL例程','ssl3_get_server_certificate','证书验证失败')]
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近):
文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ connectionpool.py”,行600,在urlopen中
chunked = chunked)
_make_request中的第343行的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ connectionpool.py”
self._validate_conn(conn)
_validate_conn中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ connectionpool.py”,行849
conn.connect()
连接中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ connection.py”,行356
ssl_context = context)
ssl_wrap_socket中的第359行的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ util \ ssl_.py”
返回context.wrap_socket(sock,server_hostname = server_hostname)
wrap_socket中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ contrib \ pyopenssl.py”,第450行
引发ssl.SSLError('握手不好:%r'%e)
ssl.SSLError:(“错误的握手:错误([(('SSL例程','ssl3_get_server_certificate','证书验证失败')],)'')),)
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近):
发送中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ requests \ adapters.py”,行445
timeout =超时
urlopen中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ connectionpool.py”,第638行
_stacktrace = sys.exc_info()[2])
文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ urllib3 \ util \ retry.py”,第398行,递增
引发MaxRetryError(_pool,url,error或ResponseError(cause))
urllib3.exceptions.MaxRetryError:HTTPSConnectionPool(host ='server_name.com',port = 443):url超过了最大重试次数://api/2.3/auth/signin(由SSLError(SSLError(“错误的握手:Error([[ (“ SSL例程”,“ ssl3_get_server_certificate”,“证书验证失败”),)”,))))
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近):
的文件“”第1行
包装中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ tableauserverclient \ server \ endpoint \ endpoint.py”,行114
return func(self,* args,** kwargs)
文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ tableauserverclient \ server \ endpoint \ auth_endpoint.py”,第30行,在sign_in
** self.parent_srv.http_options)
文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ requests \ sessions.py”,行559,在帖子中
return self.request('POST',url,data = data,json = json,** kwargs)
请求中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ requests \ sessions.py”,行512
resp = self.send(prep,** send_kwargs)
发送中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ requests \ sessions.py”,第622行
r = adapter.send(request,** kwargs)
发送中的文件“ C:\ Program Files \ Anaconda3 \ lib \ site-packages \ requests \ adapters.py”,第511行
引发SSLError(e,request = request)
requests.exceptions.SSLError:HTTPSConnectionPool(host ='server_name.com',port = 443):url超过了最大重试次数://api/2.3/auth/signin(由SSLError(SSLError(“不良握手:Error([[ (“ SSL例程”,“ ssl3_get_server_certificate”,“证书验证失败”),)”)))
答案 0 :(得分:1)
添加此行代码...
server.add_http_options({'verify': False})