2013-06-18 24 views
15

JSON'taki verileri aynı bilgisayarda çalışan başka bir uygulamaya göndermem gerekiyor.
Ben bu sorunu çözebilir Nasıl yani (raylar 3.2.13)Net/http ile posta isteği gönderme

data = { //some data hash } 
url = URI.parse('http://localhost:6379/api/plans') 
    resp, data = Net::HTTP.post_form(url, data.to_JSON) 
    p resp 
    p data 
    { resp: resp, data: data.to_JSON } 

Ama Net::HTTPBadResponse (wrong status line: "-ERR unknown command 'POST'"): olsun gibi isteği göndermek?

Güncelleme 1
Güncelleme @ Raja d önerildiği gibi benim kod

url = URI.parse('http://localhost:6379/v1/sessions') 
    http = Net::HTTP.new(url.host, url.port) 
    http.use_ssl = true 
    resp, data = Net::HTTP.post_form(url, data) 
    p resp 
    p data 

Ama hala böyle bir şey senin sorunun ne olduğunu bilmiyorum Net::HTTPBadResponse (wrong status line: "-ERR unknown command 'POST'"):

+0

Lütfen bu http://taimoorchangaizpucitian.wordpress.com/2013/05/ adresine bakın. 07/nasıl yapılır-düzeltmek-nethttpbadresponse-yanlış durum satırı-in-ruby/ –

+0

Curl veya PostMan in Chrome gibi harici bir araç kullanarak bu url'e göndermek mümkün mü? – mcfinnigan

+0

Bu postacıyı denemedim. Bu uygulama kontrolüm altında değil – Elmor

cevap

37

hata ama ne olsun Bu

http = Net::HTTP.new(uri.host, uri.port) 
http.use_ssl = true 

request = Net::HTTP::Post.new(uri.path, {'Content-Type' => 'application/json'}) 
request.body = data.to_json 

response = http.request(request) 
+0

Teşekkürler, istek göndererek sorunu çözdü! – Elmor

+0

neden "http.post (..' doğrudan arayın? :) bu [yöntem] (http://docs.ruby-lang.org/en/2.0.0/Net/HTTP.html#method-i-post) –

+0

@ArupRakshit belirli bir sebep yok. – oldergod

İlgili konular