用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 }