2014-02-22 83 views

回答

3

使用rest-client

RestClient.post 'localhost:9200/_bulk', File.new("filename.json", 'rb'), 'Content-type' => 'application/x-www-form-urlencoded' 

不知道,如果rest-client自動設置content-type,只是檢查沒有它。

+0

謝謝,實際上這對我有效: 'RestClient .post('http:// localhost:9200/_bulk',File.new(「filename.json」)' – rubyprince

3

您可以使用標準庫(沒有任何額外的寶石)做到這一點:

require 'uri' 
require 'net/http' 

uri = URI.parse('http://localhost:9200/_bulk') 
data = File.read('filename.json') 
http = Net::HTTP.new(uri.host, uri.port) 

response, body = http.post(url.path, data, {'Content-type'=>'text/xml; charset=utf-8'}) 
+0

是的,但我的項目裏已經有'RestClient' gem了。所以,這是我的工作:'RestClient.post('http:// localhost:9200/_bulk',File.new(「filename.json」)' – rubyprince