我正在使用 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)
问题是当 POST 实际执行时,我收到了 Connection reset by peer (Errno::ECONNRESET)
消息,我很确定这是由于我的有效负载太大(因为logs_to_push
是一个包含约 200 行日志的数组)。我将如何重构上述内容以便成功推送这些数据?
最佳答案
事实证明,对于大量内容,您应该将负载放在 :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)
关于ruby - 使用 HTTParty 发布大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9170977/