我正在使用httparty创建一个ruby on rails应用程序。我使用此方法创建请求

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

然而,httparty似乎将%signs编码为%25。所以请求如下:
https://api.blahblah.com/flights?flyfrom=london&dateFrom==02%252F11%252F2015
正如你所看到的,区别在于:
02%2F11%2F2015
02%252F11%252F2015

我的api希望日期采用特定的格式,所以对此表示不满。有人知道如何让httparty正确地编码这些字符,以便它只发送一个%而不是%25吗?
谢谢。

最佳答案

根据附加评论调整答案。
"%25" is the correct URL encoding for "%"。所以httparty正在编码百分比。
但是,"%2F" is the URL encoding for "/"。因此,如果您打算通过网络发送“02%2F11%2F12015”,那么您可能希望将未编码的版本传递给httparty:“02/11/2015”。

10-08 03:52