From ce9bb4bd66d44d94297736a99017854a741069b3 Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 22 Aug 2023 18:01:50 +0800 Subject: [PATCH] Add t4 post for home --- .../android/tv/model/SiteViewModel.java | 63 +++++++++++-------- .../java/com/github/catvod/net/OkHttp.java | 8 +-- 2 files changed, 41 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java index 16fd9d572..ccb18576b 100644 --- a/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java +++ b/app/src/main/java/com/fongmi/android/tv/model/SiteViewModel.java @@ -38,6 +38,8 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; +import okhttp3.FormBody; + public class SiteViewModel extends ViewModel { public MutableLiveData episode; @@ -72,17 +74,26 @@ public class SiteViewModel extends ViewModel { result.setList(Result.fromJson(homeVideoContent).getList()); return result; } else if (site.getType() == 4) { - ArrayMap params = new ArrayMap<>(); String extend = fetchExt(site); - params.put("filter", "true"); - if (extend.length() > 0) params.put("extend", extend); - String body = OkHttp.newCall(site.getApi(), params).execute().body().string(); - SpiderDebug.log(body); - return Result.fromJson(body); + if (extend.length() < 1000) { + ArrayMap params = new ArrayMap<>(); + params.put("extend", extend); + params.put("filter", "true"); + String homeContent = OkHttp.newCall(site.getApi(), params).execute().body().string(); + SpiderDebug.log(homeContent); + return Result.fromJson(homeContent); + } else { + FormBody.Builder body = new FormBody.Builder(); + body.add("extend", extend); + body.add("filter", "true"); + String homeContent = OkHttp.newCall(site.getApi(), body.build()).execute().body().string(); + SpiderDebug.log(homeContent); + return Result.fromJson(homeContent); + } } else { - String body = OkHttp.newCall(site.getApi()).execute().body().string(); - SpiderDebug.log(body); - return fetchPic(site, Result.fromType(site.getType(), body)); + String homeContent = OkHttp.newCall(site.getApi()).execute().body().string(); + SpiderDebug.log(homeContent); + return fetchPic(site, Result.fromType(site.getType(), homeContent)); } }); } @@ -103,9 +114,9 @@ public class SiteViewModel extends ViewModel { params.put("ac", site.getType() == 0 ? "videolist" : "detail"); params.put("t", tid); params.put("pg", page); - String body = OkHttp.newCall(site.getApi(), params).execute().body().string(); - SpiderDebug.log(body); - return Result.fromType(site.getType(), body); + String categoryContent = OkHttp.newCall(site.getApi(), params).execute().body().string(); + SpiderDebug.log(categoryContent); + return Result.fromType(site.getType(), categoryContent); } }); } @@ -134,9 +145,9 @@ public class SiteViewModel extends ViewModel { ArrayMap params = new ArrayMap<>(); params.put("ac", site.getType() == 0 ? "videolist" : "detail"); params.put("ids", id); - String body = OkHttp.newCall(site.getApi(), params).execute().body().string(); - SpiderDebug.log(body); - Result result = Result.fromType(site.getType(), body); + String detailContent = OkHttp.newCall(site.getApi(), params).execute().body().string(); + SpiderDebug.log(detailContent); + Result result = Result.fromType(site.getType(), detailContent); if (!result.getList().isEmpty()) result.getList().get(0).setVodFlags(); if (!result.getList().isEmpty()) checkThunder(result.getList().get(0).getVodFlags()); return result; @@ -164,9 +175,9 @@ public class SiteViewModel extends ViewModel { params.put("play", id); params.put("flag", flag); if (extend.length() > 0) params.put("extend", extend); - String body = OkHttp.newCall(site.getApi(), params).execute().body().string(); - SpiderDebug.log(body); - Result result = Result.fromJson(body); + String playerContent = OkHttp.newCall(site.getApi(), params).execute().body().string(); + SpiderDebug.log(playerContent); + Result result = Result.fromJson(playerContent); if (result.getFlag().isEmpty()) result.setFlag(flag); result.setUrl(Source.get().fetch(result.getUrl().v())); return result; @@ -199,9 +210,9 @@ public class SiteViewModel extends ViewModel { } else { ArrayMap params = new ArrayMap<>(); params.put("wd", Trans.t2s(keyword)); - String body = OkHttp.newCall(site.getApi(), params).execute().body().string(); - SpiderDebug.log(site.getName() + "," + body); - post(site, fetchPic(site, Result.fromType(site.getType(), body))); + String searchContent = OkHttp.newCall(site.getApi(), params).execute().body().string(); + SpiderDebug.log(site.getName() + "," + searchContent); + post(site, fetchPic(site, Result.fromType(site.getType(), searchContent))); } } @@ -218,9 +229,9 @@ public class SiteViewModel extends ViewModel { ArrayMap params = new ArrayMap<>(); params.put("wd", Trans.t2s(keyword)); params.put("pg", page); - String body = OkHttp.newCall(site.getApi(), params).execute().body().string(); - SpiderDebug.log(site.getName() + "," + body); - Result result = fetchPic(site, Result.fromType(site.getType(), body)); + String searchContent = OkHttp.newCall(site.getApi(), params).execute().body().string(); + SpiderDebug.log(site.getName() + "," + searchContent); + Result result = fetchPic(site, Result.fromType(site.getType(), searchContent)); for (Vod vod : result.getList()) vod.setSite(site); return result; } @@ -239,8 +250,8 @@ public class SiteViewModel extends ViewModel { ArrayMap params = new ArrayMap<>(); params.put("ac", site.getType() == 0 ? "videolist" : "detail"); params.put("ids", TextUtils.join(",", ids)); - String body = OkHttp.newCall(site.getApi(), params).execute().body().string(); - result.setList(Result.fromType(site.getType(), body).getList()); + String response = OkHttp.newCall(site.getApi(), params).execute().body().string(); + result.setList(Result.fromType(site.getType(), response).getList()); return result; } diff --git a/catvod/src/main/java/com/github/catvod/net/OkHttp.java b/catvod/src/main/java/com/github/catvod/net/OkHttp.java index 35a620f4d..d87bc4933 100644 --- a/catvod/src/main/java/com/github/catvod/net/OkHttp.java +++ b/catvod/src/main/java/com/github/catvod/net/OkHttp.java @@ -77,14 +77,14 @@ public class OkHttp { return client().newCall(new Request.Builder().url(buildUrl(url, params)).build()); } - public static Call newCall(String url, ArrayMap params, RequestBody body) { - return client().newCall(new Request.Builder().url(buildUrl(url, params)).post(body).build()); - } - public static Call newCall(String url, ArrayMap params, Headers headers) { return client().newCall(new Request.Builder().url(buildUrl(url, params)).headers(headers).build()); } + public static Call newCall(String url, RequestBody body) { + return client().newCall(new Request.Builder().url(url).post(body).build()); + } + public static Call newCall(OkHttpClient client, String url, RequestBody body) { return client.newCall(new Request.Builder().url(url).post(body).build()); }