windows/python 3.6

wpcxdonn  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(429)

我已经找了很多遍了,但什么也找不到。代码是这样的:

from impala.dbapi import connect
conn = connect(host = 'myhost', port = 21050, auth_mechanism = 'GSSAPI', kerberos_service_name = 'impala')

cursor = conn.cursor()

TTransportException: TTransportException(type=1, message="Could not start SASL: b'Error in sasl_client_start (-4) SASL(-4): no mechanism available: Unable to find a callback: 2'")

已经尝试了以下的许多不同版本,但目前有任何可能的相关库:
python 3.6.9版
异丙基0.14.0
纯sasl 0.6.2
pysasl 0.5.0版
sasl 0.2.1
节俭0.13.0
节俭sasl 0.3.0
节俭0.3.9
节俭2 0.4.8
任何帮助都将不胜感激。

xoshrz7s

xoshrz7s1#

我在python上尝试了多个库,但在尝试从windows机器进行身份验证时失败了。kerberos库主要在linux上工作。windows的解决方法不起作用。那么解决这个问题的办法是什么呢。好。。。在罗马期间做一个罗马人。试试python中的windows本机库。

import sys
import clr
from System.Net.Http import *
myClienthandler = HttpClientHandler()
myClienthandler.UseDefaultCredentials = True
myClient = HttpClient(myClienthandler)
x = myClient.GetStringAsync("putyourURLwithinthequoteshere")
myresult = x.Result
print(myresult)

请注意,此python脚本必须由有权访问您试图访问的url的用户运行。通过设置 UseDefaultCredentials 属性为 True 您正在传递已登录用户的kerberos票证。

相关问题