http://fastladder.com/reader/をはてブしたい

30分プログラム、その263。http://fastladder.com/reader/はてブしたい。
Fastladderにログインしないで、http://fastladder.com/reader/にアクセスするとログインページにリダイレクトされてしまうため、はてブに登録できない。参考: はてなブックマークを禁止する方法:Geekなぺーじ
こういうページをブックマークするには、7回リダイレクトを繰り返してやればいいらしい。(参考)

というわけで、さくっとCGIにしてみた。

ちなみに、最初のひとりがブックマークしてしまえば、次の人は普通にブックマークできるようになります。なので、今は簡単にhttp://fastladder.com/reader/はてブに登録できるはず。

使い方

はてブ Adderをブックマークすれば、Fastladderのページがブックマークできる。

ソースコード

テンプレートエンジンの話がでるたびに、id:Gemmaさんが「テンプレートはクソだ。S式でHTMLを書くべきだ」と言うので、CGIモジュールでHTMLを生成するようにした。こっちなら許してくれるよね?

#!/usr/bin/env ruby
require 'cgi'
cgi = CGI.new 'html4'

if cgi.user_agent =~ /hatena/i then
  count = cgi['i'].to_i
  if count == 0 then
    cgi.out('status'=>'REDIRECT','location'=>cgi['url']) { '' }
  else
    cgi.out('status'=>'REDIRECT','location'=>"hb.cgi?i=#{count-1}&url=#{cgi['url']}"){ '' }
  end
else
  cgi.out do
    cgi.html do
      cgi.head do
        cgi.title do 'はてブ Adder' end
      end +
      cgi.body do
        cgi.h1 do 'はてブ Adder' end +
        cgi.p do
          "このページをブックマークすると、「#{cgi['url']}」がブックマークされます。"
        end +
        cgi.form('get') do
          cgi.hidden('i','6') +
          cgi.hidden(Time.now.to_i.to_s)+
          cgi.text_field('url')+
          cgi.submit
        end
      end
    end
  end
end