Я sh, чтобы точно знать, какие символы могут go в части имени пользователя и пароля аутентификации на основе URL (устарело):
Википедия объясняет следующее об URL :
URI = scheme:[//authority]path[?query][#fragment]
authority = [userinfo@]host[:port]
Необязательный компонент полномочий, которому предшествуют две косые черты (//), содержащий: необязательный субкомпонент userinfo, который может состоять из имени пользователя и необязательного пароля, которому предшествует двоеточие (:) сопровождаемый символом (@). Использование формата username: password в подкомпоненте userinfo не рекомендуется из соображений безопасности. Приложения не должны отображать в виде открытого текста любые данные после первого двоеточия (:), найденного в подкомпоненте userinfo, если только данные после двоеточия не являются пустой строкой (без указания пароля).
Кроме того, такие сайты, как ниже объясняется, как в процентах кодировать специальные символы (%XX
):
https://support.brightcove.com/special-characters-usernames-and-passwords
Мне это нужно для создания регулярного выражения с небольшим числом ложные срабатывания.