从旧版 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我不太确定这就是我要找的。


烙印99
浏览 113回答 1
1回答

元芳怎么了

您正在寻找Credentials.basic()。        String credential = Credentials.basic("jesse", "password1");                 return Request.Builder()             .header("Authorization", credential)             ...             .build();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java