2

我正在使用 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 条日志行的数组一样)。我将如何重构上述内容以便我可以成功推送这些数据?

4

2 回答 2

3

所以事实证明,对于大量的东西,你应该把有效载荷放在: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)
于 2012-02-07T05:02:43.400 回答
1

为 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})

谢谢

于 2012-06-27T22:32:33.767 回答