Freelancers BR

Encontre dicas, tutorias e empregos

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:

  1. Db Migrate Production no Ruby on Rails
  2. Vaga para desenvolvedor Ruby on Rails na Plataforma
  3. nl2br do PHP no Rails
  4. CakePHP ou Rails
  5. Ruby Inside Brasil

Tags: , , , , ,

This entry was posted on terça-feira, setembro 1st, 2009 at 7:53 pm and is filed under Ruby on Rails. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Deixe seu comentário!