Requisição HTTP no Ruby on Rails
Se você já teve a necessidade de submeter requisições HTTP a outro servidor, como por exemplo para consultar uma API (como a do Twitter, Flickr, Last FM, etc) e supondo que a linguagem utilizada por você fosse o PHP, com certeza você pelo menos ouviu falar da biblioteca cURL, é óbvio que a aplicação ser desenvolvida em PHP é mero detalhe, já que para quem usa Linux o cURL pode ser utilizado muito facilmente, através do shell.
Agora que eu estou no mundo Ruby on Rails (sim é realmente legal programar utilizando Rails), tive a necessidade de realizar determinadas requisições HTTP, para obter o código de resposta (eu queria verificar se o site estava com algum problema) e encontrei uma alternativa muito boa, utilizando o módulo Net do Ruby.
Exemplificando:
Crie um controller qualquer e coloque o seguinte código:
require 'net/http'
@requisicao = Net::HTTP.get_response(URI.parse('http://www.freelancersbrasil.com/'))
Na view desse controller:
<% unless @requisicao.code == "200" %>
<%= "O codigo retornado foi: " + @requisicao.code %>
<% else %>
<%= @requisicao.body %>
<% end %>
Unless é uma forma condicional do Ruby, que eu achei interessante.
A menos que o código da requisição seja 200 (sucesso), será mostrado na tela o código retornado,
se não, será impresso na tela o conteúdo retornado pela requisição.
Posts relacionados:
- Db Migrate Production no Ruby on Rails
- Desenvolvedor Ruby on Rails
- Programador Ruby on Rails
- nl2br do PHP no Rails
- Vaga para desenvolvedor Ruby on Rails na Plataforma
Tags: net ruby, requisições http ruby on rails, ruby, Ruby on Rails, ruby request, ruby unless
Postado em terça-feira, setembro 1st, 2009 at 19:53 na categoria Ruby on Rails. Siga o RSS 2.0 feed. You can leave a response, or trackback from your own site.