Glide配置

Glide 无法访问有代理的图片地址,配置 User-Agent

场景:

 Glide  版本 4.+ 
  1. 公司返回的图片地址有经过一层 Nginx 代理,图片地址 能通过手机打开,但是Glide 就是报错,提示加载失败。

  2. Glide 可以正常加载网络图片。

经过一番波折,后台同事说他有配置 请求图片的 User-Agent。于是我也 尝试配置 Glide 请求时的 Agent

Glide配置 User-Agent

@GlideModule
public class MyAppGlideModule extends AppGlideModule {
    @Override
    public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
        super.registerComponents(context, glide, registry);
        // 创建 OkHttpClient 并添加 User-Agent 拦截器
        OkHttpClient client = new OkHttpClient.Builder()
                .addInterceptor(chain -> {
                    Request original = chain.request();
                    Request request = original.newBuilder()
                            .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36")
                            .method(original.method(), original.body())
                            .build();
                    return chain.proceed(request);
                })
                .build();

        //设置请求方式为okhttp 并设置okhttpClient的证书及超时时间
        OkHttpUrlLoader.Factory factory = new OkHttpUrlLoader.Factory(client);

        registry.replace(GlideUrl.class, InputStream.class, factory);
    }
}

User-Agent

是一个 HTTP 请求头,用于标识发起请求的客户端应用程序、操作系统和设备类型。它通常包含浏览器类型、版本、操作系统及其版本等信息,让服务器跟怒不同的客户端返回合适的内容或格式(可能理解不正确)。

提示:

上面 User-Agent 一般为通用协定,如果自己公司后台有协议需自行匹配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值