ruby - Net::HTTP::POST 發(fā)送參數(shù)值為hash數(shù)組的方法
問題描述
代碼如下(很常見的發(fā)送post的方法):
def access_api(path, data)uri = URI(path)http = Net::HTTP.new(uri.host, uri.port)if uri.scheme == ’https’ http.verify_mode = OpenSSL::SSL::VERIFY_NONE http.use_ssl = trueendbegin request = Net::HTTP::Post.new(uri.request_uri) request.set_form_data(data) res = http.request(request) if parsed[’code’] =1 parsed else nil endrescue puts ’communication failed’endend
這個方法發(fā)送類似{'name' => 'www.xxx.com', 'type'=>'download'}的參數(shù),沒什么問題,但是現(xiàn)在有一個需求參數(shù)里有一個數(shù)組,數(shù)組的元素是map,類似{'ip'=>{'static.xxx.com'=>80,'img.xxx.com'=>23}},這個該怎么搞
問題解答
回答1:可以使用Content-Type: application/json
body 放序列化的JSON
也可以使用to_query方法轉(zhuǎn)成url query string的形式
api: http://api.rubyonrails.org/classes/Object.html#method-i-to_query這是Rails里的方法
{:token=>'6df95c86c2be8f3d44eaa2da04f173ba', :name=>'www.xxxx.com', :type=>'download', :ip=>[{:'static.xxx.com'=>80}, {:'img.xxx.com'=>80}]}
to_json 轉(zhuǎn)成json放body
相關(guān)文章:
1. MySQL的聯(lián)合查詢[union]有什么實際的用處2. 怎么能做出標簽切換頁的效果,(文字內(nèi)容隨動)3. mysql - sql 左連接結(jié)果union右連接結(jié)果,導(dǎo)致重復(fù)性計算怎么解決?4. 從git上下載的laravel項目不能用5. 數(shù)組排序,并把排序后的值存入到新數(shù)組中6. php多任務(wù)倒計時求助7. mysql 遠程連接出錯10060,我已經(jīng)設(shè)置了任意主機了。。。8. mysql怎么表示兩個字段的差9. PHP訂單派單系統(tǒng)10. 默認輸出類型為json,如何輸出html
