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