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. Desenvolvedor Ruby on Rails
  3. Programador Ruby on Rails
  4. nl2br do PHP no Rails
  5. Vaga para desenvolvedor Ruby on Rails na Plataforma

Tags: , , , , ,

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.

Deixe seu comentário!