我正在开发一个 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/