В моем приложении есть список элементов, которые заполняются веб-порталом. Иногда я сталкиваюсь со строками вроде следующего:
https://somedomain.com/complicated?url=bla[%20john%20smith%20]|||0|||1||
Эта строка не является действительным URL по большинству стандартов, однако пользователи системы видят следующее:
- URL работает в любом браузере
- URL работает в Android
Следовательно, в iOS есть ошибка.
Так что определенно возможно закодировать URL этой строкой, но она уже частично закодирована. И если я исключу символ %
и преобразую остальные, я могу просто столкнуться с следующей проблемой. Я чувствую, что, если я начну что-то обрабатывать, я в конце концов смогу написать блог под названием «100 фальшивок, которым программисты верят об URL».
Что мне действительно нужно, так это механизм «небрежного» разбора URL-адреса, который используют веб-клиенты вместо механизма «да, я знаю, что вы технически правы», который используется инициализатором URL(string:)
, без его полной обработки и исправления новых ошибок. каждую сломанную нить, которую они могут бросить в меня.