java - 从 Apache Http 客户端迁移到 OkHttp

标签 java android apache okhttp android-apache-legacy

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

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

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

Authorization: Basic RU5YRU5EUkEASDASDQWEQFASkLTk2ZjgtOTASDQWEkMWNkYTA1

正在阅读 in the documentation我可以看到 authenticate 方法:

Produces an authorization string for the given set of Credentials

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

我设法找到了一个类 in the OkHttp docs ,一个 Authenticator,但我不太确定这就是我要找的东西。

最佳答案

您正在寻找 Credentials.basic() .

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

关于java - 从 Apache Http 客户端迁移到 OkHttp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57821339/

相关文章:

android - 我不应该使用 RecyclerView 吗?

apache - 试图在 Apache : error 13 (search permissions missing) 上运行 Flask

java - 我需要添加哪个 .jar 文件以删除 netbeans 中的 thease 行中的错误

java - Android 无法实例化以下类 : - com. google.android.gms.ads.AdView(打开类,显示异常)

Java - 如何导航到 android studio 中的 map 网址?

java - 计算连续的奇数变化

java - 如何在 Android 上正确配置 Highcharts 的日期时间轴?

android - 没有 C++ 源文件的 JNI

linux - 虚拟centOS 6.2 - 如何使用Samba共享/var/www

java - AIX - 无法创建 VM 线程。系统资源不足