#!/usr/bin/ruby -w
# answer: http://o...content-available-to-author-only...e.jp/qa/q7046348.html
require 'net/http'
module MyHTTPUtils
class << self
include Net::HTTPHeader
# this code from Net::HTTPHeader#set_form_data
def make_body_from_form_data(params, sep = '&')
params.map {|k, v| encode_kvpair(k, v) }.flatten.join(sep)
end
end
end
p MyHTTPUtils.make_body_from_form_data('query' => 'subject', 'target' => 'Ruby&PHP')
IyEvdXNyL2Jpbi9ydWJ5IC13CiMgYW5zd2VyOiBodHRwOi8vby4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5qcC9xYS9xNzA0NjM0OC5odG1sCgpyZXF1aXJlICduZXQvaHR0cCcKCm1vZHVsZSBNeUhUVFBVdGlscwogIGNsYXNzIDw8IHNlbGYKICAgIGluY2x1ZGUgTmV0OjpIVFRQSGVhZGVyCiAgICAKICAgICMgdGhpcyBjb2RlIGZyb20gTmV0OjpIVFRQSGVhZGVyI3NldF9mb3JtX2RhdGEKICAgIGRlZiBtYWtlX2JvZHlfZnJvbV9mb3JtX2RhdGEocGFyYW1zLCBzZXAgPSAnJicpCiAgICAgIHBhcmFtcy5tYXAge3xrLCB2fCBlbmNvZGVfa3ZwYWlyKGssIHYpIH0uZmxhdHRlbi5qb2luKHNlcCkKICAgIGVuZAogIGVuZAplbmQKCnAgTXlIVFRQVXRpbHMubWFrZV9ib2R5X2Zyb21fZm9ybV9kYXRhKCdxdWVyeScgPT4gJ3N1YmplY3QnLCAndGFyZ2V0JyA9PiAnUnVieSZQSFAnKQ==