HTTParty在查询字符串中添加25到%

时间:2015-10-14 19:24:50

标签: ruby-on-rails ruby api http httparty

我正在使用HTTParty在rails应用程序上创建ruby。我使用此方法创建请求

query   = { :flyFrom => "london_gb",:dateFrom => "02%2F11%2F2015"}
response = HTTParty.get('https://api.blahblah.com/flights', :query => query)

然而,HTTParty似乎将%符号编码为%25。所以请求看起来像这样:

https://api.blahblah.com/flights?flyfrom=london&dateFrom==02%252F11%252F2015

你可以看到区别是:

02%2F11%2F2015
02%252F11%252F2015

我的API期望日期采用特定格式,因此抱怨这一点。有谁知道如何让HTTParty正确编码这些字符,以便它只发送%而不是%25?

感谢。

1 个答案:

答案 0 :(得分:1)

根据附加评论调整答案。

"%25" is the correct URL encoding for "%"。所以HTTParty正在编码百分比。

然而,"%2F" is the URL encoding for "/"。因此,如果您打算通过线路发送“02%2F11%2F2015”,那么您可能希望将未编码的版本传递给HTTParty:“02/11/2015”。