[前][次][番号順一覧][スレッド一覧]

rails:2209

From: Masahiro Utsumi <utsumi@t...>
Date: Mon, 11 Jun 2007 12:01:23 +0200
Subject: [rails:2209] Re: 参加します

内海@ベルギーです。

railsなどのウェブアプリではstdoutを使うとウエブサーバの出 
力と
こんがらがるのでおかしなことになると思います。
/dev/stdoutに出さずに一時ファイルに落とせば動作するはずです。
しかし一時ファイルを使うと同時アクセスが発生したときに
おかしなことになりますので、一時ファイルのファイル名に工夫が
必要です。

Rubyではopen-uriというライブラリがあります。
http://www.ruby-lang.org/ja/man/?cmd=view;name=open-uri
これを使えば簡単ではないでしょうか?
require 'open-uri'
open("http://www.ruby-lang.org/") {|f|
   f.each_line {|line| p line}
}

もしwgetを使う理由が複雑なリクエストを出したいということで 
したら、
(postしたいとか、クッキーを扱いたいとか)
http://raa.ruby-lang.org/list.rhtml?name=http-access2
を使えば高度なことができます。私はこれを愛用させていただいていま 
す。

ご参考になりましたでしょうか。

On 2007/06/11, at 11:01, Kyoko Sato wrote:

> コマンドライン上で以下のコマンドはきくのですが、
> /usr/bin/wget -k -O /dev/stdout http://www.xxx.co.jp/
>
> Rails上では、以下のコードで詰まってしまいます。
>   allhtml = ""
>   wget = open("|/usr/bin/wget -k -O /dev/stdout \"http:// 
> www.xxx.co.jp/\"}")
>   while wgetLine = wget.gets
>     allhtml += wgetLine if (wgetLine != nil)
>   end
>   wget.close
>
> allhtmlに、データを取得したいのですが、何がおかしいのか
> 教えていただけないでしょうか?
> 宜しくお願いします。
>
> 佐藤
>
>
> --
> ML: rails@r...
> 使い方: http://QuickML.com/


--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      2201 2007-05-31 08:57 [qublilabo@g...      ] 参加します                              
      2207 2007-06-11 11:01 ┗[k.sato@a...         ]                                       
->    2209 2007-06-11 12:01  ┗[utsumi@t...         ]