如何关闭 HTTParty 帖子正文中的 URI 编码?
Posted
技术标签:
【中文标题】如何关闭 HTTParty 帖子正文中的 URI 编码?【英文标题】:How do I turn off URI Encoding in HTTParty Post Body? 【发布时间】:2012-10-30 15:11:48 【问题描述】:我正在尝试向 Paypal 发送帖子,但他们不希望对任何内容进行 URI 编码。但是 HTTParty 似乎默认情况下会这样做,这对我来说很糟糕。举个简单的例子,当我尝试这段代码时:
HTTParty.post("http://google.com/", body: foo: "http://example.com/bar")
我看到帖子正文实际上是
foo=http%3A%2F%2Fexample.com%2Fbar
是否可以让HTTParty不进行URI编码?
【问题讨论】:
【参考方案1】:这是可能的。使用不进行任何 URI 编码的 proc 运行类方法 query_string_normalizer。这对我有用。
query_string_normalizer proc |query|
query.map do |key, value|
"#key=#value"
end.join('&')
【讨论】:
这对我有用,但似乎空格字符仍然被编码(例如 %20)。特殊字符,如电子邮件地址中的 @ 不是 - 这正是我所需要的。以上是关于如何关闭 HTTParty 帖子正文中的 URI 编码?的主要内容,如果未能解决你的问题,请参考以下文章
数据 URI 正文中未转义的“#”字符已弃用;如何在项目中找到?