从 Apache Http 客户端遗留版迁移到 OkHttp



我正在将一些代码从Apache HTTP客户端迁移到OkHttp,因为Apache客户端在API 23中被弃用,现在在API 29中完全被淘汰。总的来说,我没有太多问题,但有一行我找不到等效的:

myHttpPost.addHeader(new BasicScheme().authenticate(
new UsernamePasswordCredentials(myUser, myPassword), HttpPost));

我已经调试了这一行,它生成了一个类似于这个的字符串:

授权:基本 RU5YRU5EUkEASDASDQWEQFASkLTk2ZjgtOTASDQWEkMWNkYTA1

在文档中阅读它,我可以看到authenticate方法:

为给定的凭据集生成授权字符串

而且UsernamePasswordCredentials基本上从我的用户和密码创建该凭据,但我在 OkHttp 中找不到等效凭据,有人遇到过这个问题吗?

我已经设法在 OkHttp 文档中找到了一个类,一个Authenticator,但我不确定它是否是我正在寻找的。

您正在寻找 Credentials.basic((。

String credential = Credentials.basic("jesse", "password1");
return Request.Builder()
.header("Authorization", credential)
...
.build();

最新更新