8/4:拙著『Rubyシェルプログラミング−irb&irbsh徹底活用−』発売!!
[トップ] [更新履歴] [著書] [コンピュータ] [ゲーム] [CGI配布]
高レベルネットクラス。要URb。 URIで指定してネットワークをいじくる。
Rubyでネットワークを扱うライブラリはプロトコルレベルのものしかない。 どこぞのURLの内容が欲しいためだけに、どこどこのホストにHTTPセッションを張って、 GETリクエストをどこどこのパスに送って………などとは考えたくない。 それにURLをホスト名とパスに分割する手間もかかってしまう。 単にURLを指定してその内容の文字列を返してくれれば十分だ。 これをやるアプリケーションに近いレベルのライブラリがrnet.rbである。
dot.rnetrcを自分の環境にあわせて書き換える。
URLの内容を得る。
str = RNet::get("http://www.rubyist.net/~rubikitch/")
str = RNet::get("ftp://ftp.ruby-lang.org/pub/ruby/doc/pcjp98.mgp")URLの内容を表示する。
RNet::print("http://www.rubyist.net/~rubikitch/")
RNet::print("ftp://ftp.ruby-lang.org/pub/ruby/doc/pcjp98.mgp")HTTP POST
RNet::new("http://www.host.com/test/bbs.cgi").post('mode'=>'write','content'=>'content')
(架空のURLです)RNet.new(arg)RNetオブジェクトを作る。 argはURI文字列かURb::GenericオブジェクトでURIを指定。 URIによりスキームを決定し、それに応じたメソッドが使えるようになる。
RNet.get(arg)
RNet.content(arg)argで表わされるURIの内容を文字列で返す。
Rnet::new(arg).contentと同義。
RNet.print(arg)argで表わされるURIの内容を表示する。
print RNet::new(arg).contentと同義。
RNet#http使っているHTTPオブジェクト。
RNet#head(header0={})HEADリクエストを発行。HTTPResponseオブジェクトを返す。
RNet#get(header0={})GETリクエストを発行。HTTPResponseオブジェクトを返す。
RNet#post(data, header0={})POSTリクエストを発行。dataは文字列かハッシュ。 HTTPResponseオブジェクトを返す。
rnet.rbは、HTTPリクエスト発行後に返ってくるHTTPResponseオブジェクトを独自拡張している。
Net::NetPrivate::HTTPResponse#content_typeContent-Typeを返す。
Net::NetPrivate::HTTPResponse#serverServerを返す。
Net::NetPrivate::HTTPResponse#last_modifiedLast-ModifiedのTimeオブジェクトを返す。 この際、TMailを使用。
Net::NetPrivate::HTTPResponse#dateDateのTimeオブジェクトを返す。 同じく、TMail使用。
RNet#ftp使ってるFTPオブジェクト
RNet#getbinaryfile(localfile, blocksize = Net::FTP::DEFAULT_BLOCKSIZE, callback = nil)バイナリファイルとして取得し、localfileに保存。
RNet#gettextfile(localfile, callback = nil)テキストファイルとして取得し、localfileに保存。
RNet#rename(toname)別な名前に変える。そのとき、tonameは相対パスで指定。
RNet#deleteファイルを削除。
RNet#sizeファイルサイズ。
RNet#mtime(local = false)更新時刻。
RNet#mdtmMDTMリクエスト発行。
URIライブラリをURbに移行。 setup.rbベースのインストール。 0.1.1としてリリース。
setup.rbの著作権はあおきさんにあり、他のファイルの著作権はるびきちにあります。 lib/以下はRuby'sライセンス、setup.rbはGPLです。