我正在使用picasso 2.5.2库来下载位图,所以在api中我需要在头文件中传递基本身份验证。
我尝试了以下SO ansers,但它们都不适用于最新的毕加索和OkHttp库。
提前致谢。
答案 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