Обработаь ссылку содержащую %3A
Бэкенд, парсинг новостей из RSS.
В исходной RSS приходят ссылки с закодированным в соответствии с URL Encoding двоеточием, например:
<description>
<p>Some text <a href="https://it.tradingview.com/chart/?symbol=TVC%3AFTMIB" target="_blank" rel="noopener">registra</a> more text...</p>
</description>
соответственно проблемная ссылка https://it.tradingview.com/chart/?symbol=TVC%3AFTMIB
Если вставить её напрямую в браузер, она работает, и работает также если заменить %3A на :.
На выходе нашего бэкенда ссылка без измененений отправляется на фронтенд. И на сайте она уже превращается в некорректную: https://it.tradingview.com/chart/?symbol=TVC%253AFTMIB , то есть символ % кодируется как %25.
Есть достаточная степень уверенности, что на фронте нет никакого явного преобразования ссылок, и в других ссылках с процентным кодированием, например для ссылки
https://www.pdmo.go.th/pdmomedia/documents/2021/Sep/FY2022%20Q1%20Oct.pdf
проценты не кодируются второй раз и все нормально работает.
Я нашел обсуждение подобной проблемы, но не понял к чему там в итоге пришли: https://bugzilla.mozilla.org/show_bug.cgi?id=1551439
Сейчас моя задача звучит примерно так: "у нас на входе RSS с рабочей ссылкой. Ссылка должна остаться рабочей и на фронте. Сделать это надо в бэкенде или обосновать почему это должен делать фронтенд".
Я пытаюсь понять как решить задачу и где на самом деле проблема. Корректна ли такая ссылка в RSS или она должна быть с незакодированным двоеточием?
В случае если мне придется обрабатывать эту ссылку и заменять в ней %3A обратно на :, как это сделать безопасно для других ссылок?