[ruby-list:46557] WEBrickのプロキシサーバ機能について

From: akuri <ak7@...>
Date: 2009-11-15 16:02:02 UTC
List: ruby-list #46557
WEBrickでプロキシサーバを作る勉強をしています。
るびまの第2号(WEBrickでプロキシサーバを作って遊ぶ)を参考に
以下のコードを作成しました。
(Rubyという文字列をXXXXに変換します。)

require 'webrick'
require 'webrick/httpproxy'
require 'uri'

handler = Proc.new() {|req,res|
  if res['content-type'] =~ /text\/html/
    res.body.gsub!(/ruby/i, 'XXXX')
  end
}

s = WEBrick::HTTPProxyServer.new(
  :Port => 8080,
  :ProxyContentHandler => handler
)

Signal.trap('INT') do
  s.shutdown
end

s.start


このコードは、EUC-JPのページでは正しく動作しますが、UTF-8のページでは、
変換されません。「ruby」という文字はASCIIなので、特に工夫しなくても、
変換されると考えていました。

私の環境は、以下の通りです。
WindowsXP
WEBrick 1.3.1
ruby 1.8.7 (2009-06-12) [i386-mswin32]

よろしければ原因を教えてください。

In This Thread

Prev Next