如何在Ruby中使用机械化或法拉第发送JSON表单数据
-
23-12-2019 - |
题
我想从使用JSON数据来设置自定义搜索参数的网站中检索数据,这些参数似乎通过AJAX请求。传输的数据在Firebug中的XHR->请求有效载荷下显示:
{"filters": [{"action": "post", "filterName": "Hersteller", "ids": [269],
"settingName": "Hersteller", "settingValue": "ValueA"},
{"action": "delete", "filterName": "Modelle",
"settingName": "Modelle", "settingValue": ""}]}
.
该站点不会传输任何帖子参数,但只有此JSON编码的数据以应用搜索条件。将此数据传递为具有机械化的后参数不起作用。
如何在Ruby上使用Chanchize或Faraday在Rails上传输此数据?
解决方案
用机械化,你会做:
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