用ruby原生的Net::HTTP会比restclient等来的更轻量化一些。
关于set_form_data 用法
http.form_data = {"q" => "ruby", "lang" => "en"}
http.form_data = {"q" => ["ruby", "perl"], "lang" => "en"}
http.set_form_data({"q" => "ruby", "lang" => "en"}, ';')
用的时候应该注意
http.set_form_data({:a => {:b => :c}})
http.set_form_data({:a => ["ruby", "perl"]})
上面这种嵌套结构,会受到损坏。
例如
http.set_form_data({:a => ["ruby", "perl"]})
这种方式发送请求那么收到结构将会是:
{:a => "ruby"}
避免这个问题可以使用比较hack的方式:
http.form_data = {'a[]' => ["ruby", "perl"]}
以及
http.form_data = { 'table[field]' => value, 'table[f2]' => v2 }
本文介绍了使用 Ruby 原生 Net::HTTP 的优势及注意事项,特别是 set_form_data 方法的正确使用方式,包括如何处理嵌套结构以避免数据损坏。
1576

被折叠的 条评论
为什么被折叠?



