Существует много дискуссий по поводу экранирования URL в Ruby, но, к сожалению, я не нашел подходящего решения.
В общем, URI.escape
должен делать эту работу, но, похоже, он не поддерживает всесимволы, например, это не экранирует "[".
URI.parse(URI.escape("1111{3333"))
работает хорошо.
URI.parse(URI.escape("1111[3333"))
вызывает исключение.
Я понимаю, что "["не является допустимым символом в URL согласно RFC, но когда я ввожу его в браузер, он берет его и отображает страницу, поэтому мне нужно точно такое же поведение.
Знаете ли вы какое-нибудь готовое решение для побега в Ruby?