8/4:拙著『Rubyシェルプログラミング−irb&irbsh徹底活用−』発売!!

[トップ] [更新履歴] [著書] [コンピュータ] [ゲーム] [CGI配布]


Title: RNet

高レベルネットクラス。要URb。 URIで指定してネットワークをいじくる。

Rubyでネットワークを扱うライブラリはプロトコルレベルのものしかない。 どこぞのURLの内容が欲しいためだけに、どこどこのホストにHTTPセッションを張って、 GETリクエストをどこどこのパスに送って………などとは考えたくない。 それにURLをホスト名とパスに分割する手間もかかってしまう。 単にURLを指定してその内容の文字列を返してくれれば十分だ。 これをやるアプリケーションに近いレベルのライブラリがrnet.rbである。

ダウンロード

1 インストール

  1. <URL:http://arika.org/ruby/>より、URbを取ってきてインストール。
  2. dot.rnetrcを自分の環境にあわせて書き換える。

  3. $ ruby setup.rb config
  4. $ ruby setup.rb install

2 使い方

  1. URLの内容を得る。

    str = RNet::get("http://www.rubyist.net/~rubikitch/")
    str = RNet::get("ftp://ftp.ruby-lang.org/pub/ruby/doc/pcjp98.mgp")
  2. URLの内容を表示する。

    RNet::print("http://www.rubyist.net/~rubikitch/")
    RNet::print("ftp://ftp.ruby-lang.org/pub/ruby/doc/pcjp98.mgp")
  3. HTTP POST

    RNet::new("http://www.host.com/test/bbs.cgi").post('mode'=>'write','content'=>'content')
      (架空のURLです)

3 メソッド

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と同義。

3.1 HTTP

RNet#http

使っているHTTPオブジェクト。

RNet#head(header0={})

HEADリクエストを発行。HTTPResponseオブジェクトを返す。

RNet#get(header0={})

GETリクエストを発行。HTTPResponseオブジェクトを返す。

RNet#post(data, header0={})

POSTリクエストを発行。dataは文字列かハッシュ。 HTTPResponseオブジェクトを返す。

3.1.1 HTTPResponseのRNet独自拡張

rnet.rbは、HTTPリクエスト発行後に返ってくるHTTPResponseオブジェクトを独自拡張している。

Net::NetPrivate::HTTPResponse#content_type

Content-Typeを返す。

Net::NetPrivate::HTTPResponse#server

Serverを返す。

Net::NetPrivate::HTTPResponse#last_modified

Last-ModifiedのTimeオブジェクトを返す。 この際、TMailを使用。

Net::NetPrivate::HTTPResponse#date

DateのTimeオブジェクトを返す。 同じく、TMail使用。

3.2 FTP

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#mdtm

MDTMリクエスト発行。

4 更新履歴

[2001/06/13]

URIライブラリをURbに移行。 setup.rbベースのインストール。 0.1.1としてリリース。

5 ライセンス

setup.rbの著作権はあおきさんにあり、他のファイルの著作権はるびきちにあります。 lib/以下はRuby'sライセンス、setup.rbはGPLです。


戻る ホームページへ戻る

Valid XHTML 1.0!
rubikitch(rubikitch@ruby-lang.org)

投書箱:コメントや伝えたい情報などがあればお気軽にどうぞ
名前 メール [説明]
URL
本文