防止rails在url param中转义特殊字符

时间:2012-12-13 01:57:06

标签: ruby-on-rails escaping

我有以下请求:

/campaigns/info/2.json?query=campaign_info&resource=2&ts=1355348205&的 SIG =%2B%5Cx97%5Cx19D%5C%22%5Cx15%5B%5CxE7J%5CtyTiA *%3D %3A%2B%5CxCE'8q%5CxF9%20FL%24B%5Cx8D%5Cx118%5CR%25%5CxFC%5Cx98-%5CxA33%5CxF4%5Cx0F!瓦特%24%5CxD6d4m%5Cx1D%5CxE5J%2B%5CE%5Cx94%图5B%5Cx88j%5Cx1A%5CxB8g%5CA%5D0%3BF &安培; API_KEY = 7XFtqgcVROs17xOEcjum

当我的rails服务器收到此请求时,它将params [:sig]确定为:

+\\x97\\x19D\\\"\\x15[\\xE7J\\tyTiA*=:+\\xCE'8q\\xF9 Fl$B\\x8D\\x118\\r%\\xFC\\x98-\\xA33\\xF4\\x0F!w$\\xD6d4m\\x1D\\xE5J+\\e\\x94[\\x88j\\x1A\\xB8g\\a]0;f

当我真的想要params [:sig]时:

+\x97\x19D\"\x15[\xE7J\tyTiA*=:+\xCE'8q\xF9 Fl$B\x8D\x118\r%\xFC\x98-\xA33\xF4\x0F!w$\xD6d4m\x1D\xE5J+\e\x94[\x88j\x1A\xB8g\a]0;f

如何获得第二个输出?

感谢。

1 个答案:

答案 0 :(得分:0)

我终于做到了:

while str.gsub!(/[^0-9A-Za-z]/, ''); end

但是因为我只需要0-9和a-z。希望这有帮助!