#!/usr/bin/env ruby
#-*- coding: utf-8 -*-
require 'uri'
require 'socket'
uri = URI.parse(ARGV[0])
sock = TCPSocket.open(uri.host, uri.port)
sock.printf("GET %s HTTP/1.1\r\n", uri.path)
sock.printf("Host: %s\r\n\r\n", uri.host)
str = String.new
rsize = 512
while dat = sock.recv(rsize)
str << dat
break if dat.size < rsize
end
sock.close
str.each_line{|line|
puts $1 if line =~ /^Location:\s*(.*)$/
}
HTTPを直打ちしてLocationヘッダの内容を取得してるだけなので、ものすごく単純な上にウィルス感染の心配も無し。
bit.lyやamzn.to、t.co、htn.to、t.hachune.netなど、主要(?)な短縮URLサービスで使えることを確認済み。
以下からダウンロードも可能。
http://file.hachune.net/ex_surl.rb.gz
# これを作った後Google Newsを見ていたら、短縮URL展開サービスみたいのがニュースになっていた件
0 件のコメント:
コメントを投稿