问题
I'm using HTTParty to post information to a server using the following code:
this_component = {"name" => "something", "ip" => "localhost", "logs" => logs_to_push}
payload = {"payload" => JSON.dump(this_component)}
response = JSONClient.post("http://localhost:8080/log", :body => '', :query => payload)
The problem is that I get a Connection reset by peer (Errno::ECONNRESET)
message when the POST actually executes, which I'm pretty sure is caused by my payload being too large (as logs_to_push
is an array with ~200 log lines in it). How would I refactor the above so that I could push this data successfully?
回答1:
So it turns out that for large amount of stuff, you should put the payload in :body
and not :query
. For future people that run into this problem, the correct code (working off the above example) would be:
this_component = {"name" => "something", "ip" => "localhost", "logs" => logs_to_push}
payload = {"body" => {"payload" => JSON.dump(this_component)}}
response = JSONClient.post("http://localhost:8080/log", payload)
回答2:
Try This for Post Req
require 'httparty'
require 'json'
load = {:name => "xyz",:logs => "xyz"}
payload = load.to_json
url="http://xyz.com/abc"
response = HttParty.post(url,{:body => payload})
Thanks
来源:https://stackoverflow.com/questions/9170977/posting-large-amounts-of-data-with-httparty