用于将从浏览器接收的HTTP POST字符串转换为Ruby哈希的最佳库是什么?我不想使用基于rails的大型库。我正在使用eventmachine
和evma_httpserver
,并希望包含可能解码和转换参数字符串的最轻的库。
注意:我不需要网络服务器。我手头有编码的帖子字符串,只需将其转换为哈希值。
答案 0 :(得分:7)
URI.decode_www_form
可以执行此操作:http://rubydoc.info/docs/ruby-stdlib/1.9.2/URI#decode_www_form-class_method
答案 1 :(得分:5)
您可以将rack
gem用于其Rack::Utils.parse_query
方法。
如果您想要更轻,可以将源代码复制到parse_query
和unescape
方法。
如果您希望事件更轻(但可能不那么高效或健壮),只需实施自己的拆分并依靠CGI.unescape
。
答案 2 :(得分:1)
试试这个:
require "uri"
result = URI.decode_www_form("your=post¶ms=values").inject({}) {|r, (key,value)| r[key.to_sym] = value;r}
puts result[:your]
puts result[:params]