Rubyで機械化やファラデーでJSONフォームデータを送信する方法
-
23-12-2019 - |
質問
JSONデータを使用して、ajaxを介して要求されているように見えるカスタム検索パラメータを設定するWebサイトからデータを取得したいです。送信されたデータは、FirebugでXHR-> Request Payloadの下に表示されます。
{"filters": [{"action": "post", "filterName": "Hersteller", "ids": [269],
"settingName": "Hersteller", "settingValue": "ValueA"},
{"action": "delete", "filterName": "Modelle",
"settingName": "Modelle", "settingValue": ""}]}
.
サイトは投稿パラメータを送信しませんが、このJSONエンコードされたデータだけが検索基準を適用します。機械化を伴うPOSTパラメータとしてこのデータを渡していません。
RubyのRubyのメカイズやファラデーを使ってこのデータを送信する方法は?
解決
機械をかけてすることができます:
agent.post url, data.to_json, {'Content-Type' => 'application/json'}
. 他のヒント
これを行う方法を考え出した:
connection = Faraday.new
fetched_page = connection.post do |request|
request.url 'http://www.site.com'
request.headers['Content-Type'] = 'application/json'
request.body = '{"filters": [{"action": "post", "filterName": "Hersteller", "ids": [269],
"settingName": "Hersteller", "settingValue": "ValueA"}, {"action": "delete", "filterName": "Modelle", "settingName": "Modelle", "settingValue": ""}]}'
end
. 所属していません StackOverflow