有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

JavaGmail将链接参数转换为错误格式

我用java编写了一个函数,它向用户发送一封带有链接的HTML电子邮件。
它在除GMail之外的所有电子邮件客户端上都能完美工作。
点击后,GMail会通过谷歌重定向链接,并重新设置链接参数,如下所示:

原始链接
https://www.mylink.com/page.html?id=0&role=admin



格式化链接
https://www.google.com/url?q=https://www.mylink.com/page.html?id%3D0%26role%3Dadmin

如您所见,url参数的格式很奇怪,因此我无法使用javascript函数从url中获取这些参数。
有没有办法防止这种情况?

提前谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    您看到的url是编码的,在Java中,您可以使用^{}获取未编码的url:

    String url = "https://www.google.com/url?q=https://www.mylink.com/page.html?id%3D0%26role%3Dadmin";
    System.out.println(URLDecoder.decode(url, "UTF-8"));
    

    这张照片是:

    https://www.google.com/url?q=https://www.mylink.com/page.html?id=0&role=admin
    

    Javascript也有这个功能,它被称为^{}