Как сделать URL (string :) более «браузерным» в интерпретации специальных символов - PullRequest
0 голосов
/ 31 мая 2019

В моем приложении есть список элементов, которые заполняются веб-порталом. Иногда я сталкиваюсь со строками вроде следующего:

https://somedomain.com/complicated?url=bla[%20john%20smith%20]|||0|||1||

Эта строка не является действительным URL по большинству стандартов, однако пользователи системы видят следующее:

  • URL работает в любом браузере
  • URL работает в Android

Следовательно, в iOS есть ошибка.

Так что определенно возможно закодировать URL этой строкой, но она уже частично закодирована. И если я исключу символ % и преобразую остальные, я могу просто столкнуться с следующей проблемой. Я чувствую, что, если я начну что-то обрабатывать, я в конце концов смогу написать блог под названием «100 фальшивок, которым программисты верят об URL».

Что мне действительно нужно, так это механизм «небрежного» разбора URL-адреса, который используют веб-клиенты вместо механизма «да, я знаю, что вы технически правы», который используется инициализатором URL(string:), без его полной обработки и исправления новых ошибок. каждую сломанную нить, которую они могут бросить в меня.

...