大原です。 gotoken / math.sci.hokudai.ac.jp (GOTO Kentaro) さんの、 "Fri, 10 Sep 1999 01:23:17 +0900" にだした、 「[ruby-list:16677] Matz's talk in Sapporo」というメールにて…… : > 定義については、 > http://www.netlab.co.jp/ruby/jp/yasugi.mgp > などを見てもらうとして、 細かい話しですいませんが、いつも気になっているのですが、 プログラミングの例に上がっている httpget.rb って、 port 番号を指定した時、ちゃんと動いていませんよね? というわけで、port 番号を解釈する httpget.rb です。 # もっと短くできますが、とりあえず、このくらいで。 #!/usr/local/bin/ruby require 'socket' # socket ライブラリを読込み、 if ARGV[0] =~ %r#http://([^:/]+)(:\d+)?(/.*)?$#i # コマンドラインの URL から、 host = $1 # host と、 port = ($2) ? $2.delete(":").to_i : 80 # port 番号と、 path = ($3) ? $3 : "/" # path を得て、 s = TCPSocket::open(host, port) # socket を open したら、 s.print "GET #{path} HTTP/1.0\r\n\r\n" # GET コマンドを発行して、 s.readline("\r\n\r\n") # Header 部分を読み飛ばして、 print s.read # Body を標準出力に吐いたら、 end # おしまい。 ---- OHARA Shigeki (大原重樹) <os / iij.ad.jp>