Pergunta

Quero recuperar dados a partir de um web site que utiliza os dados JSON para customizar os parâmetros de pesquisa que parecem ser solicitada através de AJAX.Os dados transmitidos apresenta sob a XHR->Solicitação de Carga no Firebug:

{"filters": [{"action": "post", "filterName": "Hersteller", "ids": [269], 
"settingName": "Hersteller", "settingValue": "ValueA"}, 
{"action": "delete", "filterName": "Modelle", 
"settingName": "Modelle", "settingValue": ""}]}

O site não transmite nenhum POST parâmetros, mas somente este dados codificados no formato JSON para aplicar critérios de pesquisa.Passando este de dados como parâmetros post com Mecanizar não funciona.

Como podem estes dados sejam transmitidos através de Mecanizar ou de Faraday em Ruby on Rails?

Foi útil?

Solução

Com Mecanizar você faria:

agent.post url, data.to_json, {'Content-Type' => 'application/json'}

Outras dicas

Eu descobri uma maneira de fazer isso:

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top