POSTing large amounts of data with HTTParty

99封情书 提交于 2019-12-18 09:05:18

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!