无法使用TableauServerClient python库连接到Tableau Server 10.5

时间:2018-08-23 07:24:05

标签: python tableau tableau-server

我已使用以下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”,“证书验证失败”),)”)))

1 个答案:

答案 0 :(得分:1)

添加此行代码...

server.add_http_options({'verify': False})