2008年08月20日(Wed)

おかしなContent-Length

tag: ruby web

Firefox使って某サイトでファイルをダウンロードしようとしたらデータがこなくなっても終了しません。試しにIE使ったら出来ました。

調べてみたら、Content-Lengthの後に\r\nとかついてます。0x0Dと0x0Aじゃなくて、\とrと\とnが付いてるのです。ヘッダを追加するときに手が滑って\r\nとか入れちゃったんでしょうか。

とりあえずこんなproxyをでっち上げてごまかしてしまいました。

#!/usr/bin/env ruby
 
require 'webrick'
require 'webrick/httpproxy'

handler = Proc.new() {|req,res|
  if res['content-length']
    res['content-length'] = res.body.size
  end
}

s = WEBrick::HTTPProxyServer.new(
  :Port => 10080,
  :ProxyVia => false,
  :ProxyContentHandler => handler,
)

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

s.start

タグ

www.flickr.com
This is a Flickr badge showing public items from suzukis tagged with japan. Make your own badge here.

最近の話題 RSS feed

最近のコメント

あわせて読みたい
人気ブログランキング - とある技術屋の戯れ言 この日記のはてなブックマーク数