JAVA : how to extract youtube URL from facebook. com/l.php?u=

标签 java android facebook youtube intentfilter

我正在开发一个 Android 应用程序, 并且,在这一步中,我想向数据库提供“Facebook 用户 YouTube 视频请求”, 当用户点击 facebook 上的 Youtube 视频时, Intent 捕获 URL,但我发现 URL 是这样的: https://m.facebook.com/l.php?u=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DD148dv1G3E4&h=KAQGHuQwG&s=1&enc=AZNGSlqUPqFIDzzjZHddvdQlAkwGkAHJy7YxLMEX7Bfi7-1PE97FOtxHPq73XJ_mKf_Dh50D_YHBxrIiIJ1HnWCbesQO4f19EVtaV-ovXqHnXw

对于这个原始的: https://www.youtube.com/watch?v=D148dv1G3E4

如何使用 JAVA(正则表达式或其他工具)将 facebook.com/l.php?u= URL 转换为 www.youtube.com/watch?v= one ? 谢谢

最佳答案

在这个简单的示例中,您可以执行以下操作:

String oldUrl = "https://m.facebook.com/l.php?u=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DD148dv1G3E4&h=KAQGHuQwG&s=1&enc=AZNGSlqUPqFIDzzjZHddvdQlAkwGkAHJy7YxLMEX7Bfi7-1PE97FOtxHPq73XJ_mKf_Dh50D_YHBxrIiIJ1HnWCbesQO4f19EVtaV-ovXqHnXw";
String newUrl;
List args= URLEncodedUtils.parse(oldUrl , Charset.defaultCharset());
for (NameValuePair arg:args) {
    if (arg.getName().equals("u")) {
        newUrl = URLDecoder.decode(arg.getValue(), "UTF-8");
    }
}

首先,获取编码后的 youtube url,然后对其进行解码并将其存储在 newUrl 中。

关于JAVA : how to extract youtube URL from facebook. com/l.php?u=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23739237/

相关文章:

java - 如何替换 Maven 依赖项的类?

java - em.Persist(book) 不会更新实体

php - 时间线麻烦

php - 在没有太多 PHP/MYSQL 知识的情况下如何创建 Facebook 应用程序?

ajax - 检索 Facebook 粉丝姓名

java - 处理不可访问的异常类型

java - 如何在 ViewModel 中设置验证检查

android - Wowza Media Server IOS 设备的实时视频流延迟?

android - 一个 Android 应用程序可以有两种不同的帐户类型吗?

Android Room onConflict = OnConflictStrategy.IGNORE 不工作