ruby - 使用 HTTParty 发布大量数据

标签 ruby json rest httparty

我正在使用 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/

相关文章:

ruby - 本地跳转错误 : unexpected return

ruby - 尝试将字符串转换为符号

ruby-on-rails - 在 Rails 中测试多态关联

ruby - 如何重构此Ruby代码以检查有效参数?

php - 如何使用 mockbin API 正确创建一个 bin?

python - 获取JSON key 错误

javascript - 将树状文件目录转换为 JSON 对象

javascript - 使用 [] 与 {} 初始化 javascript 变量有区别吗

node.js - REST API - 如何实现用户特定授权?

php - Yii Rest api 在数据库中插入数据