Ver Fonte

仿盗链

詹子聪 há 5 anos atrás
pai
commit
5354eaaf29

+ 2 - 0
app/src/main/java/com/miekir/eden/constant/ConstantString.java

@@ -26,4 +26,6 @@ public interface ConstantString {
      */
     String PASSWORD_DEFAULT = "icsmabc123";
     String MAIL_FEEDBACK = "[email protected]";
+
+    String HEADER_REFERER = "app.com";
 }

+ 33 - 0
app/src/main/java/com/miekir/eden/tool/GlideTool.java

@@ -0,0 +1,33 @@
+package com.miekir.eden.tool;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+
+import com.bumptech.glide.Glide;
+import com.bumptech.glide.RequestBuilder;
+import com.bumptech.glide.load.model.GlideUrl;
+import com.bumptech.glide.load.model.LazyHeaders;
+
+/**
+ * Copyright (C), 2019-2020, Miekir
+ *
+ * @author Miekir
+ * @date 2020/10/6 12:00
+ * Description:
+ */
+public class GlideTool {
+    private GlideTool() {}
+
+    /**
+     * 展示带有Referer的防盗链图片
+     * @param context
+     * @param imgUrl
+     * @param referer
+     * @return
+     */
+    public static RequestBuilder<Drawable> load(Context context, String imgUrl, String referer) {
+        LazyHeaders.Builder headerBuilder = new LazyHeaders.Builder().addHeader("Referer", referer);
+        GlideUrl glideUrl = new GlideUrl(imgUrl, headerBuilder.build());
+        return Glide.with(context).load(glideUrl);
+    }
+}

+ 3 - 2
app/src/main/java/com/miekir/eden/ui/home/goods/GoodsAdapter.java

@@ -12,7 +12,6 @@ import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 
-import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
 import com.bumptech.glide.request.RequestOptions;
 import com.bumptech.glide.request.target.SimpleTarget;
@@ -26,6 +25,7 @@ import com.miekir.eden.R;
 import com.miekir.eden.base.BaseBeiActivity;
 import com.miekir.eden.constant.ConstantString;
 import com.miekir.eden.manager.EdenManager;
+import com.miekir.eden.tool.GlideTool;
 import com.miekir.eden.tool.StringTool;
 import com.miekir.eden.ui.TabActivity;
 import com.miekir.eden.ui.home.goods.detail.GoodsDetailActivity;
@@ -155,7 +155,8 @@ public class GoodsAdapter extends BaseQuickAdapter<GoodsBean, BaseViewHolder> {
         setDefaultView(aciv_goods);
         aciv_goods.setTag(R.id.aciv_goods, goodsBean.coverImageUrl);
         if (goodsBean.enable) {
-            Glide.with(mContext).load(goodsBean.coverImageUrl)
+            GlideTool.load(mContext, goodsBean.coverImageUrl, ConstantString.HEADER_REFERER)
+            //Glide.with(mContext).load()
                     .apply(RequestOptions.bitmapTransform(new RoundedCorners(mRadius)))
                     //.apply(new RequestOptions()
                     //        .skipMemoryCache(true)