在Ruby中有很多关于URL转义的讨论,但不幸的是我找不到合适的解决方案。在ruby中转义的url
一般来说,URI.escape
应该做的工作,但看起来像它不支持所有字符,例如它不会逃脱“[”。
URI.parse(URI.escape("1111{3333"))
效果很好。
URI.parse(URI.escape("1111[3333"))
引发异常。
我明白“[”不是符合RFC的URL中的符合条件的字符,但是当我将它输入到浏览器中时,它将采用它并呈现页面,因此我需要完全相同的行为。
是否知道任何现成的解决方案在Ruby中转义?
感谢,看起来像它做我需要的一切 – com 2012-01-03 09:32:51
奇怪的是,CGI.escape('1111 3333')=“1111 + 3333”,这应该是“1111%203333”,但实际上链接作品也与“+” – com 2012-01-04 12:25:24