如何使用OkHttp 3.2.0在Picasso 2.5.2中添加基本身份验证

dar*_*win 5 android picasso okhttp3

我正在使用picasso 2.5.2库来下载位图,所以在api中我需要在头文件中传递基本身份验证.

我尝试了以下SO ansers但它们都不适用于最新的毕加索和OkHttp库.

答案 - 1

答案 - 2

答案 - 3

在此输入图像描述

提前致谢.

小智 10

尝试使用身份验证器配置OkHttp3客户端,具体取决于您的方案和情况:

    OkHttpClient okHttpClient = new OkHttpClient.Builder()
            .authenticator(new Authenticator()
                {
                    @Override
                    public Request authenticate(Route route, Response response) throws IOException
                    {
                        String credential = Credentials.basic("user", "pass");
                        return response.request().newBuilder()
                                .header("Authorization", credential)
                                .build();
                    }
                })
            .build();
Run Code Online (Sandbox Code Playgroud)

然后,使用该客户端形成您的Picasso对象,但是使用okhttp3,您将不得不使用OkHttp3Downloader,如下所示:

    Picasso picasso = new Picasso.Builder(context)
        .downloader(new OkHttp3Downloader(okHttpClient))
        .build();
Run Code Online (Sandbox Code Playgroud)

您可以从https://github.com/JakeWharton/picasso2-okhttp3-downloader获取OkHttp3Downloader