POSTing большие объемы данных с HTTParty - PullRequest
2 голосов
/ 07 февраля 2012

Я использую HTTParty для отправки информации на сервер, используя следующий код:

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)

Проблема в том, что я получаю сообщение Connection reset by peer (Errno::ECONNRESET), когда фактически выполняется POST, что я довольноКонечно, это вызвано тем, что моя полезная нагрузка слишком велика (так как logs_to_push - это массив, содержащий ~ 200 строк журнала).Как бы я рефакторинг выше, чтобы я мог успешно передать эти данные?

Ответы [ 2 ]

3 голосов
/ 07 февраля 2012

Получается, что для большого количества вещей вы должны поместить полезную нагрузку в :body, а не :query. Для будущих людей, которые столкнутся с этой проблемой, правильный код (отработанный в приведенном выше примере) будет:

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)
1 голос
/ 28 июня 2012

Попробуйте это для 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})

Спасибо

...