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

时间:2016-04-22 06:09:37

标签: android picasso okhttp3

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

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

Answer - 1

Answer - 2

Answer - 3

enter image description here

提前致谢。

1 个答案:

答案 0 :(得分: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();

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

    Picasso picasso = new Picasso.Builder(context)
        .downloader(new OkHttp3Downloader(okHttpClient))
        .build();

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

获取OkHttp3Downloader