Я сделал функцию в Java, которая отправляет HTML-сообщение со ссылкой на пользователя.Он отлично работает во всех почтовых клиентах, кроме GMail.При нажатии GMail перенаправляет ссылку через Google и переформатирует параметры ссылки следующим образом: Оригинальная ссылка 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 находятся в странном формате, поэтому я не могу получить эти параметры из url с помощью моей функции javascript.Есть ли способ предотвратить это?Заранее спасибо за помощь.
URL, который вы видите, закодирован, в Java вы можете получить незашифрованный URL с помощью URLDecoder.decode:
URLDecoder.decode
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 также имеет функцию для этого, она называется decodeURI().
decodeURI()