在Ruby / Rails中,如何在URL中编码/转义特殊字符?

前端之家收集整理的这篇文章主要介绍了在Ruby / Rails中,如何在URL中编码/转义特殊字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在使用OpenURI打开(url)之前,如何对URL进行编码或“转义”?

我们使用OpenURI来打开一个远程url并返回xml:

getresult = open(url).read

问题是URL包含一些包含空格和其他字符的用户输入文本,包括“”,“&”,“?”等等,因此我们需要安全地转义该URL.使用Net :: HTTP时,我看到很多例子,但OpenURI尚未找到任何内容.

我们还需要能够避免在会话变量中收到的类似字符串,因此我们需要相互函数.

解决方法

Ruby拥有内置的 URI库,而 Addressable宝石,尤其是 Addressable::URI

我更喜欢Addressable :: URI.当您使用query_values =方法时,它非常全面,并为您处理编码.

我已经看到关于URI的一些讨论,通过一些成长的痛苦,所以我倾向于独自一人处理编码/转义,直到这些东西被整理出来:

> http://osdir.com/ml/ruby-core/2010-06/msg00324.html
> http://osdir.com/ml/lang-ruby-core/2009-06/msg00350.html
> http://osdir.com/ml/ruby-core/2011-06/msg00748.html

猜你在找的Ruby相关文章