Как правильно записать IPv6-адрес прокси в URL
В IPv6 двоеточия являются частью самого адреса, а в URI двоеточие также отделяет порт. Чтобы парсер не смешивал эти значения, буквальный IPv6-адрес в компоненте host заключают в квадратные скобки. Это правило особенно важно при автоматическом экспорте прокси-реквизитов.
Главное за минуту
- IPv6-литерал в URI записывается внутри квадратных скобок.
- Порт указывается после закрывающей скобки.
- Отдельные поля программы могут не требовать URL-скобок.
- Строку IPv6 нельзя собирать тем же шаблоном, что IPv4.
Почему появились квадратные скобки
Общая структура authority включает host и необязательный port. Без скобок невозможно надёжно определить, какие двоеточия относятся к IPv6, а какое отделяет порт. Скобки применяются к литералу в URI, но не являются частью самого IP-адреса.
Схема корректной записи
Полный адрес строится как схема, затем [IPv6], затем двоеточие и порт. Логин и пароль, если формат клиента их допускает, располагаются в userinfo до знака @ и требуют percent-encoding зарезервированных символов. Безопаснее хранить реквизиты отдельными полями.
URI и форма настройки программы
Некоторые приложения имеют отдельные поля host и port. В поле host они могут ожидать IPv6 без скобок, потому что граница порта уже известна интерфейсу. Следует руководствоваться документацией клиента, а не переносить URL-синтаксис во все формы без проверки.
Тестирование экспортёра
Набор тестов должен включать полный и сокращённый IPv6, IPv6 с портом, логин со специальными символами и варианты HTTP/SOCKS5. Предпросмотр показывает ровно ту строку, которая попадёт в буфер или файл. После импорта выполняется один разрешённый контрольный запрос.
Практический чек-лист
- 1Заключить IPv6-литерал в скобки в URI.
- 2Поставить порт после закрывающей скобки.
- 3Кодировать зарезервированные символы один раз.
- 4Проверить требования конкретной программы к полю host.
- 5Добавить IPv6-примеры в автоматические тесты экспорта.
Источники и документы
Материал подготовлен по первичным, официальным и техническим источникам. Формулировки статьи являются самостоятельным изложением.