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

ポスト要求のためにこれを試してください

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 に答える