1

やや奇妙な(寛大に言えば)形式で投稿リクエストを作成する必要があります。送信する正確なリクエストは、次の形式にする必要があります

https://xyz.com/ping?app_id= 123&adv_id=345&event=sale&event_data="amt=30_USD;user_id=204050"

次の形式の URL に投稿リクエストを送信するのは簡単です:-

https://xyz.com/ping?app_id= 123&adv_id=345&event=sale&amt=30_USD&user_id=204050

これは、次のようなコードを使用して実現できます:-

Net::HTTP.post_form(URI.parse("http://xyz.com/ping"), params)

ここで、params 変数は適切に入力されます (ハッシュ)。

通常のシナリオからのこの変更を説明するために、特にイベント データを囲む二重引用符を説明するために、どのような変更を行う必要がありますか。

4

2 に答える 2

1

以下のリンクから情報を読み、適応させてください。それらを調べた後、これを行う4つの可能な方法を推測できます。

  1. 機械化を使用します。リンク1を参照
  2. Net::HTTP を使用して、コントローラからポスト リクエストを実行します。リンク2 - 3(3番目の回答)を参照してください。
  3. ハッシュまたは配列を含むフォーム データを送信します。リンク 4 ~ 7 を参照
  4. 余分なデータを含む隠しフィールドをフォームに追加します。リンク8を参照
  5. params マージ パターン、つまり Link 9 を使用します。

Ruby/Rails を使用してプログラムでフォーム データを別のサイトに投稿する

レールのコントローラーから別の Web サイトに POST データを送信する

Railsコントローラーから外部サイトに投稿してリダイレクトしますか?

http://rails.nuvvo.com/lesson/6371-action-controller-parameters

http://www.developer.com/lang/rubyrails/article.php/3804081/Techniques-to-Pass-and-Read-URL-Parameters-Using-Rails.htm

http://guides.rubyonrails.org/action_controller_overview.htm (セクション 3.1 ハッシュおよび配列パラメーター、次にリクエスト フォージェリ保護に関するセクション 8)

Rails:フォームにレコードの配列を送信させるにはどうすればよいですか?

Ruby on Rails: フォームで配列を送信する

http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-hidden_​​field

フォーム投稿の一部としてクエリ文字列パラメーターを送信する

于 2013-01-08T22:19:53.483 に答える
0

event_dataこれを行うには、パラメーターが適切にエスケープされていることを確認する必要があります。post_form電話をかけることで、すでにこれが行われると確信しています。

params["app_id"] = 123
params["adv_id"] = 345
params["event"] = 'sale'
params["event_data"] = '"amt=30_USD;user_id=204050"'
Net::HTTP.post_form(URI.parse("http://notify.tapsense.com/ads/ping"), params)

それは多かれ少なかれあなたのためにそれをするはずです。

于 2013-01-08T20:53:37.973 に答える