2010年04月26日

Ruby on Rails 外部サイトより情報を取得する方法(Net::HTTP)

外部サイトより情報を取得って?Net::HTTPって?


例えば、広告を提供する会社からAPIを使用して広告を取得する場合、
htmlなどを取得する必要が有ります。
その時に使用するモジュールがNet::HTTPです。

環境


Rails1.2.6

使用ディレクトリなど


app/helpers/base_helper.rb
app/views/hoge.rhtml

使用方法


今回はヘルパーに書いてビューで呼び出してみます。
vi base_helper.rb
module BaseHelper
 include ActionView::Helpers::TagHelper
 def ad
  url = URI(http://hoge.jp/hoge/hoge)
   //広告会社から指定されたURL
  http = Net::HTTP.new(url.host)
   //hoge.jpだけを抜き出してくれます
  response = http.get(url.request_uri)
   //hoge.jp以降を抜き出してくれます。
  logger.info response.body
   //これが取得した中身です。
  return NKF.nkf('-xSw',response.body.gsub(/(\n|\r\n|\r)/,''))
   //文字コード変換
 end

vi hoge.rhtml
<%= ad %>

これで広告表示の完了です。
本来はいろんなパラメータがgetする時に必要になると思います。
posted by RicK at 18:23| Comment(0) | TrackBack(0) | 日記
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/37388962

この記事へのトラックバック