java - 将 https 添加到缺少的数组字符串中?
问题描述
我正在为一个没有官方 API 但希望该应用程序从他的网站提取视频链接的客户编写一个应用程序,所以我使用 jsoup 编写了一个逻辑。一切似乎都很好,除了一些链接不以 https 开头,所以我试图在 URL 之前添加它。
这是我的代码:
new Thread(() -> {
final StringBuilder jsoupStr = new StringBuilder();
String URL = "https://example.com" +titleString
.replaceAll(":", "")
.replaceAll(",", "")
.replaceAll(" ", "-")
.toLowerCase();
Log.d("CALLING_URL", " " +URL);
try {
Document doc = Jsoup.connect(URL).get();
Element content = doc.getElementById("list-eps");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
jsoupStr.append("\n").append(link.attr("player-data"));
}
} catch (IOException e) {
e.getMessage();
}
String linksStr = jsoupStr.toString().trim();
if (!linksStr.startsWith("https://")) {
linksStr = "https:" + linksStr;
}
String[] links_array = linksStr.split("\n");
arrayList.addAll(Arrays.asList(links_array));
}).start();
该网站每个视频包含大约 10 个链接,但有些链接以“//”开头,而不是 https。
此代码添加了 https,但仅适用于它发现丢失的第一个链接。
if (!linksStr.startsWith("https://")) {
linksStr = "https:" + linksStr;
}
解决方案
您需要遍历最终数组以将函数应用于所有链接。
String[] links_array = linksStr.split("\n");
for(int i = 0; i < length; i++)
if(!links_array[i].startsWith("https://"))
links_array[i] = "https:" + links_array[i];
推荐阅读
- javascript - 如何在 Kendo UI 对话框中实现 Kendo Validation?
- git - 如何测试 git pull 的结果?
- mysql - 如何使用 Mysql 或 postman 将数据从一个表复制到另一个现有表?
- sql - “创建非聚集索引”,那是什么以及如何创建?
- json - Swift 中的异步 JSON 请求
- laravel-5.7 - 如何覆盖供应商服务提供商使用的供应商特征?
- dynamics-crm - Dynamics 365,UCI - 找不到编辑新表单行为的方法
- javascript - 如何从数组中获得独特的年份?
- python - bash:从python脚本向进程发送信号
- amazon-web-services - 如何使用 API 网关进行身份验证?