Support headers for img url

pull/137/head
FongMi 2 years ago
parent ca7b9a40f9
commit 4aff0780ee
  1. 9
      app/src/main/java/com/fongmi/android/tv/utils/ImgUtil.java

@ -20,8 +20,11 @@ import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.signature.ObjectKey;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.github.catvod.utils.Json;
import com.google.gson.JsonParser;
import java.io.ByteArrayOutputStream;
import java.util.Map;
public class ImgUtil {
@ -58,12 +61,18 @@ public class ImgUtil {
url = Utils.convert(url);
if (url.startsWith("data:")) return url;
LazyHeaders.Builder builder = new LazyHeaders.Builder();
if (url.contains("@Headers=")) addHeader(builder, param = url.split("@Headers=")[1].split("@")[0]);
if (url.contains("@Cookie=")) builder.addHeader("Cookie", param = url.split("@Cookie=")[1].split("@")[0]);
if (url.contains("@Referer=")) builder.addHeader("Referer", param = url.split("@Referer=")[1].split("@")[0]);
if (url.contains("@User-Agent=")) builder.addHeader("User-Agent", param = url.split("@User-Agent=")[1].split("@")[0]);
return new GlideUrl(param == null ? url : url.split("@")[0], builder.build());
}
private static void addHeader(LazyHeaders.Builder builder, String header) {
Map<String, String> map = Json.toMap(JsonParser.parseString(header));
for (Map.Entry<String, String> entry : map.entrySet()) builder.addHeader(entry.getKey(), entry.getValue());
}
public static byte[] resize(byte[] bytes) {
Bitmap bitmap = crop(BitmapFactory.decodeByteArray(bytes, 0, bytes.length));
ByteArrayOutputStream baos = new ByteArrayOutputStream();

Loading…
Cancel
Save