argra****@users*****
argra****@users*****
2010年 10月 21日 (木) 04:11:21 JST
Index: docs/modules/libwww-perl-5.813/LWP.pod diff -u /dev/null docs/modules/libwww-perl-5.813/LWP.pod:1.1 --- /dev/null Thu Oct 21 04:11:21 2010 +++ docs/modules/libwww-perl-5.813/LWP.pod Thu Oct 21 04:11:21 2010 @@ -0,0 +1,1537 @@ + +=encoding euc-jp + +=head1 NAME + +=begin original + +LWP - The World-Wide Web library for Perl + +=end original + +LWP - Perl での WWW アクセスのためのライブラリ + +=head1 SYNOPSIS + + use LWP; + print "This is libwww-perl-$LWP::VERSION\n"; + +=head1 DESCRIPTION + +=begin original + +The libwww-perl collection is a set of Perl modules which provides a +simple and consistent application programming interface (API) to the +World-Wide Web. The main focus of the library is to provide classes +and functions that allow you to write WWW clients. The library also +contain modules that are of more general use and even classes that +help you implement simple HTTP servers. + +=end original + +Libwww-perl は World-Wide Web への簡単で一貫性のあるプログラミング +インターフェース (API) を提供する Perl モジュールの集まりです。 +WWW クライアントを書くことが出来るクラスと関数を提供することを +目標にしています。 +ライブラリはもっと汎用的に使われるモジュールも入っていますし、 +and even classes that +help you implement simple HTTP servers. +(TBT) + +=begin original + +Most modules in this library provide an object oriented API. The user +agent, requests sent and responses received from the WWW server are +all represented by objects. This makes a simple and powerful +interface to these services. The interface is easy to extend +and customize for your own needs. + +=end original + +このライブラリのほとんどのモジュールはオブジェクト指向 API を提供しています。 +リクエストを送信し、WWW サーバからレスポンスを受信する +ユーザーエージェント(user agent)は、すべてオブジェクトによって表されます。 +これによりこれらのサービスへの単純で強力なインターフェースを実現ます。 +このインターフェースはあなた自身の必要のために拡張したりカスタマイズすることが +簡単です。 + +=begin original + +The main features of the library are: + +=end original + +このライブラリの主な機能を以下に示します: + +=over 3 + +=item * + +=begin original + +Contains various reusable components (modules) that can be +used separately or together. + +=end original + +個別にも一緒にも使うことができる各種の再利用可能なコンポーネント +(モジュール) が入っています。 + +=item * + +=begin original + +Provides an object oriented model of HTTP-style communication. Within +this framework we currently support access to http, https, gopher, ftp, news, +file, and mailto resources. + +=end original + +HTTP 式通信のオブジェクト指向モデルを提供します。 +このフレームワークで現在、http、https、gopher、ftp、news、file、 +mailto リソースへのアクセスを提供しています。 + +=item * + +=begin original + +Provides a full object oriented interface or +a very simple procedural interface. + +=end original + +完全なオブジェクト指向インタフェース、またはとても単純な手続き型 +インターフェースを提供します。 + +=item * + +=begin original + +Supports the basic and digest authorization schemes. + +=end original + +基本認証およびダイジェスト認証機能をサポートしています。 + +=item * + +=begin original + +Supports transparent redirect handling. + +=end original + +透過的なリダイレクト・ハンドリングをサポートします。 + +=item * + +=begin original + +Supports access through proxy servers. + +=end original + +プロキシ・サーバを通したアクセスをサポートします。 + +=item * + +=begin original + +Provides parser for F<robots.txt> files and a framework for constructing robots. + +=end original + +F<robots.txt> のためのパーサーとロボットを構築するための +フレームワークを提供します。 + +=item * + +=begin original + +Supports parsing of HTML forms. + +=end original + +Supports parsing of HTML forms. +(TBT) + +=item * + +=begin original + +Implements HTTP content negotiation algorithm that can +be used both in protocol modules and in server scripts (like CGI +scripts). + +=end original + +プロトコル・モジュールと (CGI スクリプトのような) サーバースクリプトの +両方で使うことが出来るHTTPコンテント・ネゴシエーション・アルゴリズムを +実装します。 + +=item * + +=begin original + +Supports HTTP cookies. + +=end original + +HTTP クッキーをサポートします。 + +=item * + +=begin original + +Some simple command line clients, for instance C<lwp-request> and C<lwp-download>. + +=end original + +C<lwp-request> や C<lwp-download> のような単純なコマンドライン +クライアントアプリケーション。 + +=back + +=head1 HTTP STYLE COMMUNICATION + +(HTTP 式通信) + +=begin original + +The libwww-perl library is based on HTTP style communication. This +section tries to describe what that means. + +=end original + +libwww-perl は HTTP 式通信をベースにしています。 +このセクションでは、それがどういう意味かを説明します。 + +=begin original + +Let us start with this quote from the HTTP specification document +<URL:http://www.w3.org/pub/WWW/Protocols/>: + +=end original + +まずは HTTP 仕様のドキュメント +<URL:http://www.w3.org/pub/WWW/Protocols/> からの引用から始めましょう: + +=over 3 + +=item + +=begin original + +The HTTP protocol is based on a request/response paradigm. A client +establishes a connection with a server and sends a request to the +server in the form of a request method, URI, and protocol version, +followed by a MIME-like message containing request modifiers, client +information, and possible body content. The server responds with a +status line, including the message's protocol version and a success or +error code, followed by a MIME-like message containing server +information, entity meta-information, and possible body content. + +=end original + +HTTP プロトコルはリクエスト/レスポンスパラダイムをベースにしています。 +クライアントはサーバと接続を確立し、リクエストメソッド、URI そして +プロトコルバージョン、その後にリクエスト修飾子、クライアント情報、 +もしあればボディ内容が入った MIME ライクなメッセージといった形式で +サーバにリクエストを送信します。 +サーバはメッセージのプロトコルバージョン、成功あるいはエラーコードが +入ったステータス行、その後ろにサーバ情報、エンティティ・メタ情報、 +もしあればボディ内容が入った MIME 風のメッセージでレスポンスします。 + +=back + +=begin original + +What this means to libwww-perl is that communication always take place +through these steps: First a I<request> object is created and +configured. This object is then passed to a server and we get a +I<response> object in return that we can examine. A request is always +independent of any previous requests, i.e. the service is stateless. +The same simple model is used for any kind of service we want to +access. + +=end original + +これが libwww-perl に意味することは、通信はこれらのステップで +行われるということです: まず I<request> オブジェクトが生成され、 +構成設定されます。 +そしてこのオブジェクトはサーバに渡され、戻りで検査することが出来る +I<response> オブジェクトを取得します。 +リクエストは常に前のリクエストとは独立しています。 +つまりサービスはステートレスです。 +同じ単純なモデルがアクセスしたいすべての種類のサービスに使われます。 + +=begin original + +For example, if we want to fetch a document from a remote file server, +then we send it a request that contains a name for that document and +the response will contain the document itself. If we access a search +engine, then the content of the request will contain the query +parameters and the response will contain the query result. If we want +to send a mail message to somebody then we send a request object which +contains our message to the mail server and the response object will +contain an acknowledgment that tells us that the message has been +accepted and will be forwarded to the recipient(s). + +=end original + +例えば、リモートのファイル・サーバからドキュメントを取り出したいならば、 +そのドキュメントの名前が入ったリクエストを送信すると、レスポンスに +そのドキュメントそのものが入っているでしょう。 +もし検索エンジンにアクセスすれば、リクエストの内容には問い合わせ +パラメータが入り、レスポンスには問い合わせ結果が入るでしょう。 +ある人にメール・メッセージを送信したければ、メッセージが入った +リクエスト・オブジェクトをメール・サーバに送信すると、レスポンス +オブジェクトにはそのメッセージが受信され受取人にフォワードされたことを +教えてくれる受取通知が入るでしょう。 + +=begin original + +It is as simple as that! + +=end original + +それくらい単純なのです! + +=head2 The Request Object + +(Request(リクエスト)オブジェクト) + +=begin original + +The libwww-perl request object has the class name C<HTTP::Request>. +The fact that the class name uses C<HTTP::> as a +prefix only implies that we use the HTTP model of communication. It +does not limit the kind of services we can try to pass this I<request> +to. For instance, we will send C<HTTP::Request>s both to ftp and +gopher servers, as well as to the local file system. + +=end original + +libwww-perl リクエスト (request) オブジェクトは C<HTTP::Request> という +クラスを持ちます。 +クラス名の前に C<HTTP::> がついているということは、通信の HTTP モデルを +使っているということを暗示しているだけです。 +それは、このリクエストを渡そうそするサービスの種類を制限しません。 +例えば ftp や gopher サービスにも、そしてローカルなファイル・システムにも +C<HTTP::Request> を送信します。 + +=begin original + +The main attributes of the request objects are: + +=end original + +Request オブジェクトの主な属性は以下の通りです: + +=over 3 + +=item * + +=begin original + +The B<method> is a short string that tells what kind of +request this is. The most common methods are B<GET>, B<PUT>, +B<POST> and B<HEAD>. + +=end original + +B<method> は、これが何の種類のリクエストかを伝える短い文字列です。 +もっとも一般的なメソッドは B<GET>, B<PUT>, B<POST>, B<HEAD> です。 + +=item * + +=begin original + +The B<uri> is a string denoting the protocol, server and +the name of the "document" we want to access. The B<uri> might +also encode various other parameters. + +=end original + +B<uri> はアクセスしたいプロトコル、サーバそして"ドキュメント"の名前を +示す文字列です。 +B<uri> には他のさまざまなパラメータも組み込まれることもあります。 + +=item * + +=begin original + +The B<headers> contain additional information about the +request and can also used to describe the content. The headers +are a set of keyword/value pairs. + +=end original + +B<headers> にはリクエストについての追加の情報が入ります。 +そして内容の説明するためにも使われます。 +ヘッダはキーワード/値の組み合わせのセットです。 + +=item * + +=begin original + +The B<content> is an arbitrary amount of data. + +=end original + +B<content> は任意のデータの固まりです。 + +=back + +=head2 The Response Object + +(Response(レスポンス)オブジェクト) + +=begin original + +The libwww-perl response object has the class name C<HTTP::Response>. +The main attributes of objects of this class are: + +=end original + +ibwww-perl レスポンス(response)オブジェクトは C<HTTP::Response> という +クラス名を持ちます。 +このクラスのオブジェクト主な属性は以下の通りです: + +=over 3 + +=item * + +=begin original + +The B<code> is a numerical value that indicates the overall +outcome of the request. + +=end original + +B<code> はリクエストの全体の結果を示す数値です。 + +=item * + +=begin original + +The B<message> is a short, human readable string that +corresponds to the I<code>. + +=end original + +B<message> は、I<code> に対応する人間が読める短い文字列です。 + +=item * + +=begin original + +The B<headers> contain additional information about the +response and describe the content. + +=end original + +B<headers> にはレスポンスについての追加の情報が入り、内容 (content) について +説明します。 + +=item * + +=begin original + +The B<content> is an arbitrary amount of data. + +=end original + +B<content> は任意のデータの固まりです。 + +=back + +=begin original + +Since we don't want to handle all possible I<code> values directly in +our programs, a libwww-perl response object has methods that can be +used to query what kind of response this is. The most commonly used +response classification methods are: + +=end original + +すべてのありうる I<code> 値を直接我々のプログラムで扱いたくないので、 +libwww-perl のレスポンスオブジェクトは、これがどんな種類のレスポンスかを +問い合わせるために使うことが出来るメソッドを持っています。 +最もよく使われるレスポンス分類メソッドは以下の通りです: + +=over 3 + +=item is_success() + +=begin original + +The request was was successfully received, understood or accepted. + +=end original + +リクエストは正常に受信され、理解されあるいは受取られました。 + +=item is_error() + +=begin original + +The request failed. The server or the resource might not be +available, access to the resource might be denied or other things might +have failed for some reason. + +=end original + +リクエストは失敗しました。 +サーバまたはリソースが利用可能でないか、リソースへのアクセスが拒否されたか、 +他のことが何らかの理由により失敗しました。 + +=back + +=head2 The User Agent + +(ユーザ・エージェント(User Agent)) + +=begin original + +Let us assume that we have created a I<request> object. What do we +actually do with it in order to receive a I<response>? + +=end original + +I<リクエスト> (request)オブジェクトを作成したとします。 +I<レスポンス>(response)を受信するため実際には何をするでしょうか? + +=begin original + +The answer is that you pass it to a I<user agent> object and this +object takes care of all the things that need to be done +(like low-level communication and error handling) and returns +a I<response> object. The user agent represents your +application on the network and provides you with an interface that +can accept I<requests> and return I<responses>. + +=end original + +答えは、それを I<ユーザーエージェント> (user agent) オブジェクトに渡します。 +このオブジェクトは (下位レベルの通信やエラーの取り扱いなど) +しなけれならないすべてのことに注意し、I<レスポンス> (response) オブジェクトを +返します。 +ユーザーエージェントはネットワークでのアプリケーションを表し、 +I<リクエスト> (request)を受け付け、I<レスポンス> (response) を +返すことができるインタフェースを提供します。 + +=begin original + +The user agent is an interface layer between +your application code and the network. Through this interface you are +able to access the various servers on the network. + +=end original + +ユーザーエージェントはあなたのアプリケーションコードとネットワークの間の +インターフェース層です。 +このインタフェースを通して、ネットワーク上のさまざまなサービスに +アクセスすることができます。 + +=begin original + +The class name for the user agent is C<LWP::UserAgent>. Every +libwww-perl application that wants to communicate should create at +least one object of this class. The main method provided by this +object is request(). This method takes an C<HTTP::Request> object as +argument and (eventually) returns a C<HTTP::Response> object. + +=end original + +ユーザーエージェントのクラス名は C<LWP::UserAgent> です。 +通信したいすべての libwww-perl アプリケーションは、このクラスの +オブジェクトを少なくとも一つ作成しなければなりません。 +このオブジェクトにより提供される主なメソッドは request() です。 +このメソッドは C<HTTP::Request> オブジェクトを引数として取り、 +(最終的に) C<HTTP::Response> オブジェクトを返します。 + +=begin original + +The user agent has many other attributes that let you +configure how it will interact with the network and with your +application. + +=end original + +ユーザーエージェントは他に、ネットワークやアプリケーションと +どのように相互に影響しあうかを構成設定させる多くの属性を持っています。 + +=over 3 + +=item * + +=begin original + +The B<timeout> specifies how much time we give remote servers to +respond before the library disconnects and creates an +internal I<timeout> response. + +=end original + +B<timeout> はライブラリが切断し、内部の I<timeout> レスポンスを作成する前に、 +リモートサーバに返答するための時間をどれくらい与えるかを指定します。 + +=item * + +=begin original + +The B<agent> specifies the name that your application should use when it +presents itself on the network. + +=end original + +B<agent> はネットワーク上でそれ自身を表すときにアプリケーションが +使わなければならない名前を指定します。 + +=item * + +=begin original + +The B<from> attribute can be set to the e-mail address of the person +responsible for running the application. If this is set, then the +address will be sent to the servers with every request. + +=end original + +B<from> 属性はそのアプリケーションを実行することに責任を持つ人の e-mail +アドレスに設定されることができます。 +もしこれが設定されると、そのアドレスは要求のたびにサーバに送信されます。 + +=item * + +=begin original + +The B<parse_head> specifies whether we should initialize response +headers from the E<lt>head> section of HTML documents. + +=end original + +B<parse_head> は HTML ドキュメントの E<lt>head> セクションから +レスポンスヘッダを初期化するべきかどうかを指定します。 + +=item * + +=begin original + +The B<proxy> and B<no_proxy> attributes specify if and when to go through +a proxy server. <URL:http://www.w3.org/pub/WWW/Proxies/> + +=end original + +B<proxy> と B<no_proxy> 属性はプロキシサーバを通っていくか、そしていつかを +指定します。 +<URL:http://www.w3.org/pub/WWW/Proxies/> + +=item * + +=begin original + +The B<credentials> provide a way to set up user names and +passwords needed to access certain services. + +=end original + +B<credentials> はあるサービスにアクセスするために必要とされるユーザ名と +パスワードを設定する方法を提供します。 + +=back + +=begin original + +Many applications want even more control over how they interact +with the network and they get this by sub-classing +C<LWP::UserAgent>. The library includes a +sub-class, C<LWP::RobotUA>, for robot applications. + +=end original + +多くのアプリケーションはネットワークとどのようにやりとりするかを、さらに +制御することを望みます。 +そしてこれは C<LWP::UserAgent> をサブクラス化することによって実現します。 +ライブラリにはサブクラスとして、ロボットアプリケーションのために +C<LWP::RobotUA> が入っています。 + +=head2 An Example + +=begin original + +This example shows how the user agent, a request and a response are +represented in actual perl code: + +=end original + +この例は、ユーザーエージェント(user agent)、リクエスト(request)、 +そしてレスポンス(response)が、実際の perl コードではどのように +表されるかを示します: + + # Create a user agent object + use LWP::UserAgent; + $ua = LWP::UserAgent->new; + $ua->agent("MyApp/0.1 "); + + # Create a request + my $req = HTTP::Request->new(POST => 'http://search.cpan.org/search'); + $req->content_type('application/x-www-form-urlencoded'); + $req->content('query=libwww-perl&mode=dist'); + + # Pass request to the user agent and get a response back + my $res = $ua->request($req); + + # Check the outcome of the response + if ($res->is_success) { + print $res->content; + } + else { + print $res->status_line, "\n"; + } + +=begin original + +The $ua is created once when the application starts up. New request +objects should normally created for each request sent. + +=end original + +アプリケーションが起動されたとき、$ua が一度作られます。 +新しいリクエストオブジェクトは通常リクエストを送信するたびに作成されます。 + +=head1 NETWORK SUPPORT + +(ネットワーク・サポート) + +=begin original + +This section discusses the various protocol schemes and +the HTTP style methods that headers may be used for each. + +=end original + +このセクションでは各種のプロトコル機構とそれぞれにヘッダが +使われるかもしれない HTTP式メソッドについて説明します。 + +=begin original + +For all requests, a "User-Agent" header is added and initialized from +the $ua->agent attribute before the request is handed to the network +layer. In the same way, a "From" header is initialized from the +$ua->from attribute. + +=end original + +すべてのリクエストに、リクエストがネットワーク層に渡される前に、 +"User-Agent" ヘッダが追加され、$ua->agent 属性から初期化されます。 +同じ方法で、"From" ヘッダは $ua->from 属性から初期化されます。 + +=begin original + +For all responses, the library adds a header called "Client-Date". +This header holds the time when the response was received by +your application. The format and semantics of the header are the +same as the server created "Date" header. You may also encounter other +"Client-XXX" headers. They are all generated by the library +internally and are not received from the servers. + +=end original + +すべてのレスポンスに、ライブラリは"Client-Date"と呼ばれるヘッダを追加します。 +このヘッダはレスポンスがアプリケーションにより受信された時刻を保持します。 +ヘッダの形式と意味はサーバにより作成される"Date"ヘッダと同じです。 +他にも"Client-XXX"というヘッダに出会うかもしれません。 +それらはライブラリにより内部で生成され、サーバから受信されていません。 + +=head2 HTTP Requests + +(HTTPリクエスト) + +=begin original + +HTTP requests are just handed off to an HTTP server and it +decides what happens. Few servers implement methods beside the usual +"GET", "HEAD", "POST" and "PUT", but CGI-scripts may implement +any method they like. + +=end original + +HTTPリクエストは単純にHTTPサーバに渡され、それが何をするかを判断します。 +ほとんどのサーバは通常の"GET"、"HEAD"、"POST"、"PUT"の他にメソッドを実装しませんが、CGIスクリプトが好きなメソッドを実装するかもしれません。 + +=begin original + +If the server is not available then the library will generate an +internal error response. + +=end original + +サーバが利用できなければ、ライブラリは内部でエラーレスポンスを生成します。 + +=begin original + +The library automatically adds a "Host" and a "Content-Length" header +to the HTTP request before it is sent over the network. + +=end original + +このライブラリは自動的にネットワークを越えて送信する前に、HTTP リクエストに +"Host" と "Content-Length" ヘッダを追加します。 + +=begin original + +For a GET request you might want to add a "If-Modified-Since" or +"If-None-Match" header to make the request conditional. + +=end original + +GET リクエストでは、条件をつけたリクエストを行うために +"If-Modified-Since" や "If-None-Match" ヘッダを追加したいかもしれません。 + +=begin original + +For a POST request you should add the "Content-Type" header. When you +try to emulate HTML E<lt>FORM> handling you should usually let the value +of the "Content-Type" header be "application/x-www-form-urlencoded". +See L<lwpcook> for examples of this. + +=end original + +POST リクエストでは、"Content-Type" ヘッダを追加しなければなりません。 +HTML E<lt>FORM> の扱いをエミュレートしようとするとき、 +"Content-Type" ヘッダの値は "application/x-www-form-urlencoded" に +しなければなりません。 +この例については L<lwpcook> をご覧下さい。 + +=begin original + +The libwww-perl HTTP implementation currently support the HTTP/1.1 +and HTTP/1.0 protocol. + +=end original + +libwww-perl HTTP 実装は現在 HTTP/1.1 と HTTP/1.0 プロトコルを +サポートしています。 + +=begin original + +The library allows you to access proxy server through HTTP. This +means that you can set up the library to forward all types of request +through the HTTP protocol module. See L<LWP::UserAgent> for +documentation of this. + +=end original + +このライブラリは HTTP を通してプロキシサーバにアクセスすることも +可能にしています。 +つまり HTTP プロトコルモジュールを通してすべてのタイプのリクエストを +フォワードするために設定できるということです。 +これのドキュメントについては L<LWP::UserAgent> をご覧下さい。 + +=head2 HTTPS Requests + +(HTTPS リクエスト) + +=begin original + +HTTPS requests are HTTP requests over an encrypted network connection +using the SSL protocol developed by Netscape. Everything about HTTP +requests above also apply to HTTPS requests. In addition the library +will add the headers "Client-SSL-Cipher", "Client-SSL-Cert-Subject" and +"Client-SSL-Cert-Issuer" to the response. These headers denote the +encryption method used and the name of the server owner. + +=end original + +HTTPS リクエストは、ネットスケープにより開発された SSL プロトコルを +使った暗号化されたネットワーク接続による HTTP リクエストです。 +HTTP リクエストについての上記のすべてが HTTPS リクエストにも当てはまります。 +さらにライブラリはレスポンスにヘッダ "Client-SSL-Cipher", +"Client-SSL-Cert-Subject", "Client-SSL-Cert-Issuer" を追加します。 +これらのヘッダは使われた暗号化方法とサーバ所有者の名前を表します。 + +=begin original + +The request can contain the header "If-SSL-Cert-Subject" in order to +make the request conditional on the content of the server certificate. +If the certificate subject does not match, no request is sent to the +server and an internally generated error response is returned. The +value of the "If-SSL-Cert-Subject" header is interpreted as a Perl +regular expression. + +=end original + +リクエストにはサーバ認証の内容による条件付のリクエストを行うために +ヘッダ "If-SSL-Cert-Subject" を入れることが出来ます。 +認証サブジェクト(cerificate subject)が合わなければ、サーバには +リクエストが送られず、内部的に作成されたエラーレスポンスが返されます。 +"If-SSL-Cert-Subject" ヘッダの値は Perl の正規表現として解釈されます。 + +=head2 FTP Requests + +(FTP リクエスト) + +=begin original + +The library currently supports GET, HEAD and PUT requests. GET +retrieves a file or a directory listing from an FTP server. PUT +stores a file on a ftp server. + +=end original + +このライブラリは現在 GET, HEAD, PUT リクエストをサポートします。 +GET は FTP サーバからファイルやディレクトリ一覧を取り出します。 +PUT はファイルを ftp サーバに格納します。 + +=begin original + +You can specify a ftp account for servers that want this in addition +to user name and password. This is specified by including an "Account" +header in the request. + +=end original + +加えてユーザ名、パスワードを要求するサーバのために ftp アカウントを +指定することが出来ます。 +これはリクエストに "Account" ヘッダが入ることによって指定されます。 + +=begin original + +User name/password can be specified using basic authorization or be +encoded in the URL. Failed logins return an UNAUTHORIZED response with +"WWW-Authenticate: Basic" and can be treated like basic authorization +for HTTP. + +=end original + +ユーザ名/パスワードは基本認証を使って指定したり、URL で +エンコードされたりします。 +ログインが失敗すると "WWW-Authenticate: Basic" で UNAUTHORIZED レスポンスを +返し、HTTP のための基本認証のように扱うことが出来ます。 + +=begin original + +The library supports ftp ASCII transfer mode by specifying the "type=a" +parameter in the URL. It also supports transfer of ranges for FTP transfers +using the "Range" header. + +=end original + +このライブラリは URL で "type=a" パラメータを指定することにより、ftp ASCII +転送モードをサポートします。 +It also supports transfer of ranges for FTP transfers +using the "Range" header. +(TBT) + +=begin original + +Directory listings are by default returned unprocessed (as returned +from the ftp server) with the content media type reported to be +"text/ftp-dir-listing". The C<File::Listing> module provides methods +for parsing of these directory listing. + +=end original + +ディレクトリ一覧はデフォルトでは内容メディア型が +"text/ftp-dir-listing" としてレポートさながら、返され、 +(ftpサーバから返されたまま) 処理されません。 +C<File::Listring> モジュールはこれらのディレクトリ一覧の解析のための +メソッドを提供します。 + +=begin original + +The ftp module is also able to convert directory listings to HTML and +this can be requested via the standard HTTP content negotiation +mechanisms (add an "Accept: text/html" header in the request if you +want this). + +=end original + +ftp モジュールはディレクトリ一覧を HTML に変換することも出来ます。 +そしてこれは標準の HTTP コンテントネゴシエーション機構を通して +要求されることも出来ます。 +(こうしたければリクエストに"Accept: text/html" ヘッダを追加してください) + +=begin original + +For normal file retrievals, the "Content-Type" is guessed based on the +file name suffix. See L<LWP::MediaTypes>. + +=end original + +通常のファイル取り出しでは、"Content-Type" はファイル名の拡張子に基づいて +推測します。 +L<LWP::MediaTypes> をご覧下さい。 + +=begin original + +The "If-Modified-Since" request header works for servers that implement +the MDTM command. It will probably not work for directory listings though. + +=end original + +"If-Modified-Since" リクエストヘッダが MDTM コマンドを実装している +サーバのために動作します。 +しかしこれはおそらくディレクトリ一覧には動作しないでしょう。 + +=begin original + +Example: + +=end original + +例: + + $req = HTTP::Request->new(GET => 'ftp://me:passw****@ftp*****/'); + $req->header(Accept => "text/html, */*;q=0.1"); + +=head2 News Requests + +(News リクエスト) + +=begin original + +Access to the USENET News system is implemented through the NNTP +protocol. The name of the news server is obtained from the +NNTP_SERVER environment variable and defaults to "news". It is not +possible to specify the hostname of the NNTP server in news: URLs. + +=end original + +USENET News システムへのアクセスは NNTP プロトコルを通して実装されます。 +news サーバの名前は NNTP_SERVER 環境変数から取得され、デフォルトは "news" です。 +news:URL で NNTP サーバのホスト名を指定することは出来ません。 + +=begin original + +The library supports GET and HEAD to retrieve news articles through the +NNTP protocol. You can also post articles to newsgroups by using +(surprise!) the POST method. + +=end original + +このライブラリは NNTP プロトコルを通して news 記事を取り出すための GET と +HEAD をサポートします。 +(驚くべきことに!) POST メソッドを使って newsgroup に記事を +ポストすることもできます。 + +=begin original + +GET on newsgroups is not implemented yet. + +=end original + +newsgroup への GET はまだ実装されていません。 + +=begin original + +Examples: + +=end original + +例: + + $req = HTTP::Request->new(GET => 'news:abc12****@a*****'); + + $req = HTTP::Request->new(POST => 'news:comp.lang.perl.test'); + $req->header(Subject => 'This is a test', + From => 'me****@some*****'); + $req->content(<<EOT); + This is the content of the message that we are sending to + the world. + EOT + + +=head2 Gopher Request + +(Gopher リクエスト) + +=begin original + +The library supports the GET and HEAD methods for gopher requests. All +request header values are ignored. HEAD cheats and returns a +response without even talking to server. + +=end original + +このライブラリは gopher リクエストのための GET と HEAD メソッドを +サポートします。 +すべてのリクエストヘッダの値は無視されます。 +HEAD はごまかして、サーバと話することすらなくレスポンスを返します。 + +=begin original + +Gopher menus are always converted to HTML. + +=end original + +Gopher メニューは常に HTML に変換されます。 + +=begin original + +The response "Content-Type" is generated from the document type +encoded (as the first letter) in the request URL path itself. + +=end original + +レスポンスの "Content-Type" はリクエスト URL パスそれ自身にエンコードされた +ドキュメントタイプから生成されます。 + +=begin original + +Example: + +=end original + +例: + + $req = HTTP::Request->new(GET => 'gopher://gopher.sn.no/'); + +=head2 File Request + +(File リクエスト) + +=begin original + +The library supports GET and HEAD methods for file requests. The +"If-Modified-Since" header is supported. All other headers are +ignored. The I<host> component of the file URL must be empty or set +to "localhost". Any other I<host> value will be treated as an error. + +=end original + +このライブラリは file リクエストのために GET とHEAD メソッドを +サポートしています。 +"If-Modified-Since" ヘッダがサポートされています。 +他のすべてのヘッダは無視されます。 +file URL の host コンポーネントは空であるか "localhost" に +設定されていなければなりません。 +他の host はすべてエラーとして扱われます。 + +=begin original + +Directories are always converted to an HTML document. For normal +files, the "Content-Type" and "Content-Encoding" in the response are +guessed based on the file suffix. + +=end original + +ディレクトリは常に HTML ドキュメントに変換されます。 +通常のファイルでは、レスポンスの中の "Content-Type" と "Content-Encoding" は +ファイル拡張子を元に推測します。 + +=begin original + +Example: + +=end original + +例: + + $req = HTTP::Request->new(GET => 'file:/etc/passwd'); + +=head2 Mailto Request + +(Mailto リクエスト) + +=begin original + +You can send (aka "POST") mail messages using the library. All +headers specified for the request are passed on to the mail system. +The "To" header is initialized from the mail address in the URL. + +=end original + +このライブラリを使って、メールメッセージを送信 +(つまり "POST") することができます。 +リクエストに指定されたすべてのヘッダはメールシステムに渡されます。 +"To" ヘッダは URL でのメール・アドレスで初期化されます。 + +=begin original + +Example: + +=end original + +例: + + $req = HTTP::Request->new(POST => 'mailto:libww****@perl*****'); + $req->header(Subject => "subscribe"); + $req->content("Please subscribe me to the libwww-perl mailing list!\n"); + +=head2 CPAN Requests + +(CPAN リクエスト) + +=begin original + +URLs with scheme C<cpan:> are redirected to the a suitable CPAN +mirror. If you have your own local mirror of CPAN you might tell LWP +to use it for C<cpan:> URLs by an assignment like this: + +=end original + +URLs with scheme C<cpan:> are redirected to the a suitable CPAN +mirror. If you have your own local mirror of CPAN you might tell LWP +to use it for C<cpan:> URLs by an assignment like this: +(TBT) + + $LWP::Protocol::cpan::CPAN = "file:/local/CPAN/"; + +=begin original + +Suitable CPAN mirrors are also picked up from the configuration for +the CPAN.pm, so if you have used that module a suitable mirror should +be picked automatically. If neither of these apply, then a redirect +to the generic CPAN http location is issued. + +=end original + +Suitable CPAN mirrors are also picked up from the configuration for +the CPAN.pm, so if you have used that module a suitable mirror should +be picked automatically. If neither of these apply, then a redirect +to the generic CPAN http location is issued. +(TBT) + +=begin original + +Example request to download the newest perl: + +=end original + +Example request to download the newest perl: +(TBT) + + $req = HTTP::Request->new(GET => "cpan:src/latest.tar.gz"); + +=head1 OVERVIEW OF CLASSES AND PACKAGES + +(クラスとパッケージの概要) + +=begin original + +This table should give you a quick overview of the classes provided by the +library. Indentation shows class inheritance. + +=end original + +以下の表はこのライブラリによって提供されるクラスの簡単な概略を示します。 +インデントはクラスの継承を示します。 + +=begin original + + LWP::MemberMixin -- Access to member variables of Perl5 classes + LWP::UserAgent -- WWW user agent class + LWP::RobotUA -- When developing a robot applications + LWP::Protocol -- Interface to various protocol schemes + LWP::Protocol::http -- http:// access + LWP::Protocol::file -- file:// access + LWP::Protocol::ftp -- ftp:// access + ... + +=end original + + LWP::MemberMixin -- Perl5クラスのメンバー変数へのアクセス + LWP::UserAgent -- WWW ユーザ・エージェントクラス + LWP::RobotUA -- ロボット(robot)アプリケーションを開発するとき + LWP::Protocol -- 様々なプロトコル機能へのインターフェース + LWP::Protocol::http -- http:// アクセス + LWP::Protocol::file -- file:// アクセス + LWP::Protocol::ftp -- ftp:// アクセス + ... + +=begin original + + LWP::Authen::Basic -- Handle 401 and 407 responses + LWP::Authen::Digest + +=end original + + LWP::Authen::Basic -- 401と407レスポンスの取り扱い + LWP::Authen::Digest + +=begin original + + HTTP::Headers -- MIME/RFC822 style header (used by HTTP::Message) + HTTP::Message -- HTTP style message + HTTP::Request -- HTTP request + HTTP::Response -- HTTP response + HTTP::Daemon -- A HTTP server class + +=end original + + HTTP::Headers -- MIME/RFC822 形式ヘッダ (HTTP::Messageによって使われる) + HTTP::Message -- HTTP 形式メッセージ + HTTP::Request -- HTTP リクエスト + HTTP::Response -- HTTP レスポンス + HTTP::Daemon -- HTTP サーバクラス + +=begin original + + WWW::RobotRules -- Parse robots.txt files + WWW::RobotRules::AnyDBM_File -- Persistent RobotRules + +=end original + + WWW::RobotRules -- robots.txt ファイルの解析 + WWW::RobotRules::AnyDBM_File -- 永続化 RobotRules + + Net::HTTP -- Low level HTTP client + +=begin original + +The following modules provide various functions and definitions. + +=end original + +以下のモジュールは様々な関数と定義を提供します。 + +=begin original + + LWP -- This file. Library version number and documentation. + LWP::MediaTypes -- MIME types configuration (text/html etc.) + LWP::Debug -- Debug logging module + LWP::Simple -- Simplified procedural interface for common functions + HTTP::Status -- HTTP status code (200 OK etc) + HTTP::Date -- Date parsing module for HTTP date formats + HTTP::Negotiate -- HTTP content negotiation calculation + File::Listing -- Parse directory listings + HTML::Form -- Processing for <form>s in HTML documents + +=end original + + LWP -- このファイル。 +ライブラリ・バージョン番号とドキュメント + LWP::MediaTypes -- MIME タイプ設定(text/html など) + LWP::Debug -- デバッグ・ログ出力モジュール + LWP::Simple -- 一般的な機能のための簡略化された手続き型インターフェース + HTTP::Status -- HTTP ステータス・コード (200 OK など) + HTTP::Date -- HTTP日付フォーマットのための日付解析モジュール + HTTP::Negotiate -- HTTPコンテント・ネゴシエーション計算 + File::Listing -- ディレクトリ一覧の解析 + HTML::Form -- HTML 文書の <form> を処理する + +=head1 MORE DOCUMENTATION + +(さらなるドキュメント) + +=begin original + +All modules contain detailed information on the interfaces they +provide. The I<lwpcook> manpage is the libwww-perl cookbook that contain +examples of typical usage of the library. You might want to take a +look at how the scripts C<lwp-request>, C<lwp-rget> and C<lwp-mirror> +are implemented. + +=end original + +すべてのモジュールにはそれが提供しているインターフェースについての +詳細な情報がはいっています。 +I<lwpcook> マニュアルページはライブラリの典型的な利用法の例が入った +libwww-perl レシピ集 です。 +スクリプト C<lwp-request>, C<lwp-rget>, C<lwp-mirror> がどのように +実行されているかを見るのもよいでしょう。 + +=head1 ENVIRONMENT + +(環境変数) + +=begin original + +The following environment variables are used by LWP: + +=end original + +The following environment variables are used by LWP: +(TBT) + +=over + +=item HOME + +=begin original + +The C<LWP::MediaTypes> functions will look for the F<.media.types> and +F<.mime.types> files relative to you home directory. + +=end original + +The C<LWP::MediaTypes> functions will look for the F<.media.types> and +F<.mime.types> files relative to you home directory. +(TBT) + +=item http_proxy + +=item ftp_proxy + +=item xxx_proxy + +=item no_proxy + +=begin original + +These environment variables can be set to enable communication through +a proxy server. See the description of the C<env_proxy> method in +L<LWP::UserAgent>. + +=end original + +These environment variables can be set to enable communication through +a proxy server. See the description of the C<env_proxy> method in +L<LWP::UserAgent>. +(TBT) + +=item PERL_LWP_USE_HTTP_10 + +=begin original + +Enable the old HTTP/1.0 protocol driver instead of the new HTTP/1.1 +driver. You might want to set this to a TRUE value if you discover +that your old LWP applications fails after you installed LWP-5.60 or +better. + +=end original + +Enable the old HTTP/1.0 protocol driver instead of the new HTTP/1.1 +driver. You might want to set this to a TRUE value if you discover +that your old LWP applications fails after you installed LWP-5.60 or +better. +(TBT) + +=item PERL_HTTP_URI_CLASS + +=begin original + +Used to decide what URI objects to instantiate. The default is C<URI>. +You might want to set it to C<URI::URL> for compatibility with old times. + +=end original + +Used to decide what URI objects to instantiate. The default is C<URI>. +You might want to set it to C<URI::URL> for compatibility with old times. +(TBT) + +=back + +=head1 AUTHORS + +=begin original + +LWP was made possible by contributions from Adam Newby, Albert +Dvornik, Alexandre Duret-Lutz, Andreas Gustafsson, Andreas K?ig, +Andrew Pimlott, Andy Lester, Ben Coleman, Benjamin Low, Ben Low, Ben +Tilly, Blair Zajac, Bob Dalgleish, BooK, Brad Hughes, Brian +J. Murrell, Brian McCauley, Charles C. Fu, Charles Lane, Chris Nandor, +Christian Gilmore, Chris W. Unger, Craig Macdonald, Dale Couch, Dan +Kubb, Dave Dunkin, Dave W. Smith, David Coppit, David Dick, David +D. Kilzer, Doug MacEachern, Edward Avis, erik, Gary Shea, Gisle Aas, +Graham Barr, Gurusamy Sarathy, Hans de Graaff, Harald Joerg, Harry +Bochner, Hugo, Ilya Zakharevich, INOUE Yoshinari, Ivan Panchenko, Jack +Shirazi, James Tillman, Jan Dubois, Jared Rhine, Jim Stern, Joao +Lopes, John Klar, Johnny Lee, Josh Kronengold, Josh Rai, Joshua +Chamas, Joshua Hoblitt, Kartik Subbarao, Keiichiro Nagano, Ken +Williams, KONISHI Katsuhiro, Lee T Lindley, Liam Quinn, Marc Hedlund, +Marc Langheinrich, Mark D. Anderson, Marko Asplund, Mark Stosberg, +Markus B Kr?er, Markus Laker, Martijn Koster, Martin Thurn, Matthew +Eldridge, Matthew.van.Eerde, Matt Sergeant, Michael A. Chase, Michael +Quaranta, Michael Thompson, Mike Schilli, Moshe Kaminsky, Nathan +Torkington, Nicolai Langfeldt, Norton Allen, Olly Betts, Paul +J. Schinder, peterm, Philip GuentherDaniel Buenzli, Pon Hwa Lin, +Radoslaw Zielinski, Radu Greab, Randal L. Schwartz, Richard Chen, +Robin Barker, Roy Fielding, Sander van Zoest, Sean M. Burke, +shildreth, Slaven Rezic, Steve A Fink, Steve Hay, Steven Butler, +Steve_Kilbane, Takanori Ugai, Thomas Lotterer, Tim Bunce, Tom Hughes, +Tony Finch, Ville Skytt? Ward Vandewege, William York, Yale Huang, +and Yitzchak Scott-Thoennes. + +=end original + +LWP は以下の人々の貢献によって実現可能になりました: Adam Newby, Albert +Dvornik, Alexandre Duret-Lutz, Andreas Gustafsson, Andreas KE<ouml>nig, +Andrew Pimlott, Andy Lester, Ben Coleman, Benjamin Low, Ben Low, Ben +Tilly, Blair Zajac, Bob Dalgleish, BooK, Brad Hughes, Brian +J. Murrell, Brian McCauley, Charles C. Fu, Charles Lane, Chris Nandor, +Christian Gilmore, Chris W. Unger, Craig Macdonald, Dale Couch, Dan +Kubb, Dave Dunkin, Dave W. Smith, David Coppit, David Dick, David +D. Kilzer, Doug MacEachern, Edward Avis, erik, Gary Shea, Gisle Aas, +Graham Barr, Gurusamy Sarathy, Hans de Graaff, Harald Joerg, Harry +Bochner, Hugo, Ilya Zakharevich, INOUE Yoshinari, Ivan Panchenko, Jack +Shirazi, James Tillman, Jan Dubois, Jared Rhine, Jim Stern, Joao +Lopes, John Klar, Johnny Lee, Josh Kronengold, Josh Rai, Joshua +Chamas, Joshua Hoblitt, Kartik Subbarao, Keiichiro Nagano, Ken +Williams, KONISHI Katsuhiro, Lee T Lindley, Liam Quinn, Marc Hedlund, +Marc Langheinrich, Mark D. Anderson, Marko Asplund, Mark Stosberg, +Markus B KrE<uuml>ger, Markus Laker, Martijn Koster, Martin Thurn, Matthew +Eldridge, Matthew.van.Eerde, Matt Sergeant, Michael A. Chase, Michael +Quaranta, Michael Thompson, Mike Schilli, Moshe Kaminsky, Nathan +Torkington, Nicolai Langfeldt, Norton Allen, Olly Betts, Paul +J. Schinder, peterm, Philip GuentherDaniel Buenzli, Pon Hwa Lin, +Radoslaw Zielinski, Radu Greab, Randal L. Schwartz, Richard Chen, +Robin Barker, Roy Fielding, Sander van Zoest, Sean M. Burke, +shildreth, Slaven Rezic, Steve A Fink, Steve Hay, Steven Butler, +Steve_Kilbane, Takanori Ugai, Thomas Lotterer, Tim Bunce, Tom Hughes, +Tony Finch, Ville SkyttE<auml>, Ward Vandewege, William York, Yale Huang, +and Yitzchak Scott-Thoennes. + +=begin original + +LWP owes a lot in motivation, design, and code, to the libwww-perl +library for Perl4 by Roy Fielding, which included work from Alberto +Accomazzi, James Casey, Brooks Cutter, Martijn Koster, Oscar +Nierstrasz, Mel Melchner, Gertjan van Oosten, Jared Rhine, Jack +Shirazi, Gene Spafford, Marc VanHeyningen, Steven E. Brenner, Marion +Hakanson, Waldemar Kebsch, Tony Sanders, and Larry Wall; see the +libwww-perl-0.40 library for details. + +=end original + +LWP owes a lot in motivation, design, and code, to the libwww-perl +library for Perl4 by Roy Fielding, which included work from Alberto +Accomazzi, James Casey, Brooks Cutter, Martijn Koster, Oscar +Nierstrasz, Mel Melchner, Gertjan van Oosten, Jared Rhine, Jack +Shirazi, Gene Spafford, Marc VanHeyningen, Steven E. Brenner, Marion +Hakanson, Waldemar Kebsch, Tony Sanders, and Larry Wall; see the +libwww-perl-0.40 library for details. +(TBT) + +=head1 COPYRIGHT + + Copyright 1995-2008, Gisle Aas + Copyright 1995, Martijn Koster + +This library is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + +=head1 AVAILABILITY + +=begin original + +The latest version of this library is likely to be available from CPAN +as well as: + +=end original + +このライブラリの最新バージョンは以下の場所の他にCPANからも利用できます: + + http://gitorious.org/projects/libwww-perl + +=begin original + +The best place to discuss this code is on the <libww****@perl*****> +mailing list. + +=end original + +このプログラムについて議論する一番よい場所は<libww****@perl*****> メーリング・リストです。 + +=cut + +=begin meta + +Translated: Hippo2000 <GCD00****@nifty*****> (5.48) +Updated: Kentaro SHIRAKATA <argra****@ub32*****> (5.813) + +=end meta +