Я получаю чистый способ разбора адреса типа «www.google.com» в URL-объект, который предполагает протокол http, если протокол не указан (но будет работать корректно для "https://www.google.com").URL-адрес анализа синтаксического анализа URL-адреса без протока
Конструктор java.net.URL правильно выплескивает эти адреса как неверные URL-адреса, и я не могу найти встроенный метод для этого.
Доступны нулевые интернет-точки, предлагающие поиск «: //» или аналогичные. Мне нужен чистый способ сделать это, чтобы правильно разобрать адрес.
Пожалуйста, не стесняйтесь объяснять «чистый путь» для синтаксического анализа, который не требует синтаксического анализа, поскольку вы заявили, что не хотите, чтобы ваш синтаксический анализ фактически выполнял синтаксический анализ. В конце концов, [синтаксис IETF RFC для URI] (http://www.ietf.org/rfc/rfc2396.txt) специально вызывает ': //' как соответствующую конструкцию (см. «Синтаксические компоненты URI»). Как вы планируете разбор * любого * URL-адреса, если алгоритм синтаксического анализа не может следовать спецификации? – CommonsWare
@CommonsWare Обязательно. Чистый способ решить эту проблему предполагает, что я не пишу собственный парсер или не просматриваю строку для:: //. У Android уже есть надежные парсеры, мне просто нужно знать правильные вызовы API для использования. Я рад использовать синтаксический анализатор, я не рад взломать что-то ненадежное, обыскав строку. – Hbcdev
«У Android уже есть надежные парсеры, мне просто нужно знать правильные вызовы API для использования» - их нет, AFAIK. Возможно, есть сторонний фрагмент кода или библиотека, которую вы можете использовать, поэтому я переделал это в java. – CommonsWare