[pod] [xml]

名前

HTTP::Lite - 軽量なHTTP実装

利用例

    use HTTP::Lite;
    $http = new HTTP::Lite;
    $req = $http->request("http://www.cpan.org/") 
        or die "Unable to get document: $!";
    print $http->body();

説明

    HTTP::LiteはPerlのための、単体で動作する、軽量なHTTP/1.1の
    実装です。これは十全の機能をもち、LWPの代わりとなって
    置き換えるようなものではありません。かわりに、HTTPをサポート
    するためにアーカイブにインストールするモジュールが最小である
    ことが好ましい状況、プロセッサが遅く、CPUにとってLWPが良い
    候補とならない状況で役立つものであろうと考えています。
    HTTP::Liteは、通常は有意にLWPより高速です。 
    HTTP::LiteはCGI(やmod_perl)プログラムでの利用に、あるいは
    HTTP GETおよびPOST機能だけが不可欠なより大きなパッケージへの
    バンドルには理想的です。 
    HTTP::Liteは基本的なPOSTおよびGET操作だけをサポートします。
    0.2.1では、HTTP::LiteはHTTP/1.1をサポートし、名前ベースの
    バーチャル・ホストに不可欠なHOSTヘッダーを受け入れます。
    加えて、HTTP::Liteは現在、プロキシをサポートします。 
    2.0.0になり、HTTP::Liteは現在ではリクエストデータを
    受け取ってすぐに処理できるように、コールバックをサポート
    しました。これは、十分なメモリなしで巨大なファイルを
    取り扱うのに役立ちます。 
    もし、FTPやHTTPSといったより以上の機能的な要求があれば、
    libwwwperl (LWP)をご覧下さい。 LWPはHTTP::Liteより実に良く、
    包括的なパッケージで、利用できるのであればHTTP::Liteの
    代わりに使うべきです。 

コンストラクタ

メソッド

    # CPANホームページのヘッダーとボディーを取得し、出力する
    use HTTP::Lite;
    $http = new HTTP::Lite;
    $req = $http->request("http://www.cpan.org/")
        or die "Unable to get document: $!";
    die "Request failed ($req): ".$http->status_message()
      if $req ne "200";
    @headers = $http->headers_array();
    $body = $http->body();
    foreach $header (@headers)
    {
      print "$header$CRLF";
    }
    print "$CRLF";
    print "$body$CRLF";
    # dejanews USENET検索エンジンにリクエストをポストする
    use HTTP::Lite;
    $http = new HTTP::Lite;
    %vars = (
             "QRY" => "perl",
             "ST" => "MS",
             "svcclass" => "dncurrent",
             "DBS" => "2"
            );
    $http->prepare_post(\%vars);
    $req = $http->request("http://www.deja.com/dnquery.xp")
      or die "Unable to get document: $!";
    print "req: $req\n";
    print $http->body();

未実装の機能

    - FTP
    - HTTPS (SSL)
    - Authenitcation/Authorizaton/Proxy-Authorizationは直接は
      サポートしておらず、MIME::Base64が必要です。 
    - リダイレクト(Location)は自動的に追跡されません。 
    - multipart/form-dataのPOSTは直接サポートされてはません。
      (これはファイルアップロードには不可欠です) 

バグ

    正しく動作しないHTTP/1.1サーバーはファイル転送時に、不正確な
    サイズを送ります。HTTP/1.1モードは現在、デフォルトでは無効に
    してあります。 

作者

Roy Hooper <rhooper@thetoybox.org>

参照

LWP RFC 2068 - HTTP/1.1 -http://www.w3.org/

著作権

Copyright (c) 2000-2002 Roy Hooper. All rights reserved.

このプログラムはフリーウェアです; Perlそれ自体と同じ文言の元で 改変と/あるいは再配布を行うことができます。

翻訳者

塚本 牧生 <walrus@digit.que.ne.jp>