[Python] 关于使用python去访问Doris的问题

问题

近期使用 Python 的requests库访问 Doris,结果发现无论如何都连接显示认证错误。

分析

使用AI也分析不出来个所以然,但是注意到 Doris 官方文档的例子中有一个 --location-trusted 和 --location 参数。

结论

Python 的requests库的理念就是默认不会把凭据在重定向过程中透传给新的location。

对于 curl来说 --location-trusted 和 -L 就可以搞定。

对于Python来说,需要对 requests 库的请求方式做一些修改:

 class TrustRedirectSession(requests.Session):"""Session that preserves auth across redirects like curl --location-trusted"""def rebuild_auth(self, prepared_request, response):"""Override to preserve auth on redirect"""# Don't strip auth on redirect (like curl --location-trusted)pass

完整代码见:Github-Gist