Date: Tuesday March 05, 2019 @ 05:23 Author: argrath Update of /cvsroot/perldocjp/docs/modules/HTTP-Tiny-0.012/HTTP In directory sf-cvs:/tmp/cvs-serv119160/modules/HTTP-Tiny-0.012/HTTP Added Files: Tiny.pod Log Message: HTTP-Tiny-0.012 =================================================================== File: Tiny.pod Status: Up-to-date Working revision: 1.1 Mon Mar 4 20:23:10 2019 Repository revision: 1.1 /cvsroot/perldocjp/docs/modules/HTTP-Tiny-0.012/HTTP/Tiny.pod,v Existing Tags: No Tags Exist -------------- next part -------------- Index: docs/modules/HTTP-Tiny-0.012/HTTP/Tiny.pod diff -u /dev/null docs/modules/HTTP-Tiny-0.012/HTTP/Tiny.pod:1.1 --- /dev/null Tue Mar 5 05:23:11 2019 +++ docs/modules/HTTP-Tiny-0.012/HTTP/Tiny.pod Tue Mar 5 05:23:10 2019 @@ -0,0 +1,695 @@ + +=pod + +=encoding euc-jp + +=head1 NAME + +=begin original + +HTTP::Tiny - A small, simple, correct HTTP/1.1 client + +=end original + +HTTP::Tiny - ¾®¤µ¤¯¡¢¥·¥ó¥×¥ë¤Ç¡¢Àµ¤·¤¤ HTTP/1.1 ¥¯¥é¥¤¥¢¥ó¥È + +=head1 VERSION + +=begin original + +version 0.012 + +=end original + +¥Ð¡¼¥¸¥ç¥ó 0.012 + +=head1 SYNOPSIS + + use HTTP::Tiny; + + my $response = HTTP::Tiny->new->get('http://example.com/'); + + die "Failed!\n" unless $response->{success}; + + print "$response->{status} $response->{reason}\n"; + + while (my ($k, $v) = each %{$response->{headers}}) { + for (ref $v eq 'ARRAY' ? @$v : $v) { + print "$k: $_\n"; + } + } + + print $response->{content} if length $response->{content}; + +=head1 DESCRIPTION + +=begin original + +This is a very simple HTTP/1.1 client, designed primarily for doing simple GET +requests without the overhead of a large framework like L<LWP::UserAgent>. + +=end original + +¤³¤ì¤Ï¤È¤Æ¤â¥·¥ó¥×¥ë¤Ê HTTP/1.1 ¥¯¥é¥¤¥¢¥ó¥È¤Ç¡¢´ðËÜŪ¤Ë¤Ï +L<LWP::UserAgent> ¤Î¤è¤¦¤ÊÂ礤ʥե졼¥à¥ï¡¼¥¯¤Î¥ª¡¼¥Ð¡¼¥Ø¥Ã¥É¤Ê¤·¤Ë +ñ½ã¤Ê GET ¥ê¥¯¥¨¥¹¥È¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ËÀ߷פµ¤ì¤Æ¤¤¤Þ¤¹¡£ + +=begin original + +It is more correct and more complete than L<HTTP::Lite>. It supports +proxies (currently only non-authenticating ones) and redirection. It +also correctly resumes after EINTR. + +=end original + +¤³¤ì¤Ï L<HTTP::Lite> ¤è¤ê¤âÀµ¤·¤¯¡¢´°Á´¤Ç¤¹¡£ +¤³¤ì¤Ï¥×¥í¥¥· (¸½ºß¤Î¤È¤³¤íǧ¾Ú¤Ê¤·¤Î¤â¤Î¤Î¤ß) ¤ª¤è¤Ó +¥ê¥À¥¤¥ì¥¯¥È¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ +¤Þ¤¿¡¢EINTR ¤Î¸åÀµ¤·¤¯ºÆ³«¤·¤Þ¤¹¡£ + +=head1 METHODS + +=head2 new + + $http = HTTP::Tiny->new( %attributes ); + +=begin original + +This constructor returns a new HTTP::Tiny object. Valid attributes include: + +=end original + +¤³¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤Ï¿·¤·¤¤ HTTP::Tiny ¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤·¤Þ¤¹¡£ +͸ú¤Ê°À¤Ï°Ê²¼¤Î¤â¤Î¤Ç¤¹: + +=over 4 + +=item * + +agent + +=begin original + +A user-agent string (defaults to 'HTTP::Tiny/$VERSION') + +=end original + +¥æ¡¼¥¶¡¼¥¨¡¼¥¸¥§¥ó¥Èʸ»úÎó (¥Ç¥Õ¥©¥ë¥È¤Ï 'HTTP::Tiny/$VERSION') + +=item * + +default_headers + +=begin original + +A hashref of default headers to apply to requests + +=end original + +¥ê¥¯¥¨¥¹¥È¤ËŬÍѤµ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ø¥Ã¥À¤Î¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹ + +=item * + +max_redirect + +=begin original + +Maximum number of redirects allowed (defaults to 5) + +=end original + +¥ê¥À¥¤¥ì¥¯¥È¤ÎºÇÂç¿ô (¥Ç¥Õ¥©¥ë¥È¤Ï 5) + +=item * + +max_size + +=begin original + +Maximum response size (only when not using a data callback). If defined, +responses larger than this will die with an error message + +=end original + +ºÇÂç¥ì¥¹¥Ý¥ó¥¹¥µ¥¤¥º (¥Ç¡¼¥¿¥³¡¼¥ë¥Ð¥Ã¥¯¤ò»È¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Î¤ß)¡£ +ÄêµÁ¤µ¤ì¤ë¤È¡¢¤³¤ì¤è¤êÂ礤ʥ쥹¥Ý¥ó¥¹¤Ï¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½Ð¤·¤Æ die ¤·¤Þ¤¹¡£ + +=item * + +proxy + +=begin original + +URL of a proxy server to use. + +=end original + +»È¤¦¥×¥í¥¥·¥µ¡¼¥Ð¤Î URL¡£ + +=item * + +timeout + +=begin original + +Request timeout in seconds (default is 60) + +=end original + +¥ê¥¯¥¨¥¹¥È¤Î¥¿¥¤¥à¥¢¥¦¥ÈÉà (¥Ç¥Õ¥©¥ë¥È¤Ï 60) + +=back + +=head2 get + + $response = $http->get($url); + $response = $http->get($url, \%options); + +=begin original + +Executes a C<GET> request for the given URL. The URL must have unsafe +characters escaped and international domain names encoded. Internally, it just +calls C<request()> with 'GET' as the method. See C<request()> for valid +options and a description of the response. + +=end original + +»ØÄꤵ¤ì¤¿ URL ¤ËÂФ·¤Æ C<GET> ¥ê¥¯¥¨¥¹¥È¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +URL ¤Ï°ÂÁ´¤Êʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¹ñºÝ¥É¥á¥¤¥ó̾¤Ï +¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +ÆâÉô¤È¤·¤Æ¤Ï¡¢Ã±¤Ë¥á¥½¥Ã¥É¤ò 'GET' ¤È¤·¤Æ C<request()> ¤ò¸Æ¤Ó½Ð¤·¤Þ¤¹¡£ +͸ú¤Ê¥ª¥×¥·¥ç¥ó¤È¥ì¥¹¥Ý¥ó¥¹¤Ë´Ø¤¹¤ëÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï +C<request()> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=head2 mirror + + $response = $http->mirror($url, $file, \%options) + if ( $response->{success} ) { + print "$file is up to date\n"; + } + +=begin original + +Executes a C<GET> request for the URL and saves the response body to the file +name provided. The URL must have unsafe characters escaped and international +domain names encoded. If the file already exists, the request will includes an +C<If-Modified-Since> header with the modification timestamp of the file. You +may specificy a different C<If-Modified-Since> header yourself in the C<< +$options->{headers} >> hash. + +=end original + +URL ¤ËÂФ·¤Æ C<GET> ¥ê¥¯¥¨¥¹¥È¤ò¼Â¹Ô¤·¡¢¥ì¥¹¥Ý¥ó¥¹ËÜÂΤò»ØÄꤵ¤ì¤¿ +¥Õ¥¡¥¤¥ë̾¤ËÊݸ¤·¤Þ¤¹¡£ +URL ¤Ï°ÂÁ´¤Ç¤Ê¤¤Ê¸»ú¤Ï¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ +¹ñºÝ¥É¥á¥¤¥ó̾¤Ï¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥ê¥¯¥¨¥¹¥È¤Ë¤Ï¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÊѹ¹»þ¹ï¤¬ +C<If-Modified-Since> ¥Ø¥Ã¥À¤Ë»ØÄꤵ¤ì¤Þ¤¹¡£ +may specificy a different C<If-Modified-Since> header yourself in the +C<< $options->{headers} >> ¥Ï¥Ã¥·¥å¤Ë°Û¤Ê¤ë C<If-Modified-Since> ¥Ø¥Ã¥À¤ò +»ØÄꤹ¤ë¤³¤È¤â¤Ç¤¤Þ¤¹¡£ + +=begin original + +The C<success> field of the response will be true if the status code is 2XX +or 304 (unmodified). + +=end original + +¥ì¥¹¥Ý¥ó¥¹¤Î C<success> ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¹¥Æ¡¼¥¿¥¹¥³¡¼¥É¤¬ 2XX ¤Þ¤¿¤Ï +304 (unmodified) ¤Î¾ì¹ç¤Ë¿¿¤Ë¤Ê¤ê¤Þ¤¹¡£ + +=begin original + +If the file was modified and the server response includes a properly +formatted C<Last-Modified> header, the file modification time will +be updated accordingly. + +=end original + +¥Õ¥¡¥¤¥ë¤¬Êѹ¹¤µ¤ì¤Æ¤¤¤Æ¡¢¥µ¡¼¥Ð¥ì¥¹¥Ý¥ó¥¹¤ËŬÀڤ˥ե©¡¼¥Þ¥Ã¥È¤µ¤ì¤Æ¤¤¤ë +C<Last-Modified> ¥Ø¥Ã¥À¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ +¥Õ¥¡¥¤¥ëÊѹ¹»þ¹ï¤Ï¤½¤ì¤Ë±þ¤¸¤Æ¹¹¿·¤µ¤ì¤Þ¤¹¡£ + +=head2 request + + $response = $http->request($method, $url); + $response = $http->request($method, $url, \%options); + +=begin original + +Executes an HTTP request of the given method type ('GET', 'HEAD', 'POST', +'PUT', etc.) on the given URL. The URL must have unsafe characters escaped and +international domain names encoded. A hashref of options may be appended to +modify the request. + +=end original + +»ØÄꤵ¤ì¤¿ URL ¤ËÍ¿¤¨¤é¤ì¤¿¥á¥½¥Ã¥É·¿ ('GET', 'HEAD', 'POST', +'PUT' ¤Ê¤É) ¤Ç HTTP ¥ê¥¯¥¨¥¹¥È¤ò¼Â¹Ô¤·¤Þ¤¹¡£ +URL ¤Ï°ÂÁ´¤Ç¤Ê¤¤Ê¸»ú¤Ï¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ +¹ñºÝ¥É¥á¥¤¥ó̾¤Ï¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +¥ª¥×¥·¥ç¥ó¤Î¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¤Ï¥ê¥¯¥¨¥¹¥È¤ò½¤Àµ¤¹¤ë¤¿¤á¤ËÄɲ䵤ì¤Þ¤¹¡£ + +=begin original + +Valid options are: + +=end original + +͸ú¤Ê¥ª¥×¥·¥ç¥ó¤Ï: + +=over 4 + +=item * + +headers + +=begin original + +A hashref containing headers to include with the request. If the value for +a header is an array reference, the header will be output multiple times with +each value in the array. These headers over-write any default headers. + +=end original + +¥ê¥¯¥¨¥¹¥È¤Ë´Þ¤Þ¤ì¤ë¥Ø¥Ã¥À¤ò´Þ¤à¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¡£ +¥Ø¥Ã¥À¤ÎÃͤ¬ÇÛÎó¥ê¥Õ¥¡¥ì¥ó¥¹¤Î¾ì¹ç¡¢¥Ø¥Ã¥À¤ÏÇÛÎó¤Î¤½¤ì¤¾¤ì¤ÎÃÍ¤Ç +Ê£¿ô²ó½ÐÎϤµ¤ì¤Þ¤¹¡£ +¤³¤ì¤é¤Î¥Ø¥Ã¥À¤Ï¤É¤Î¤è¤¦¤Ê¥Ç¥Õ¥©¥ë¥È¥Ø¥Ã¥À¤â¾å½ñ¤¤·¤Þ¤¹¡£ + +=item * + +content + +=begin original + +A scalar to include as the body of the request OR a code reference +that will be called iteratively to produce the body of the response + +=end original + +¥ê¥¯¥¨¥¹¥È¤ÎËÜÂΤò´Þ¤à¥¹¥«¥é¡¢¤Þ¤¿¤Ï¥ì¥¹¥Ý¥ó¥¹¤ÎËÜÂΤòÀ¸À®¤¹¤ë¤¿¤á¤Ë +·«¤êÊÖ¤·¸Æ¤Ó½Ð¤µ¤ì¤ë¥³¡¼¥É¥ê¥Õ¥¡¥ì¥ó¥¹ + +=item * + +trailer_callback + +=begin original + +A code reference that will be called if it exists to provide a hashref +of trailing headers (only used with chunked transfer-encoding) + +=end original + +(chunked transfer-encoding ¤Ç¤Î¤ß»È¤ï¤ì¤ë) ËöÈø¤Î¥Ø¥Ã¥À¤Î +¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¤òÄ󶡤¹¤ë¤¿¤á¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥³¡¼¥É¥ê¥Õ¥¡¥ì¥ó¥¹ + +=item * + +data_callback + +=begin original + +A code reference that will be called for each chunks of the response +body received. + +=end original + +¥ì¥¹¥Ý¥ó¥¹ËÜÂΤΥÁ¥ã¥ó¥¯¤ò¼õ¿®¤¹¤ëÅ٤˸ƤӽФµ¤ì¤ë¥³¡¼¥É¥ê¥Õ¥¡¥ì¥ó¥¹¡£ + +=back + +=begin original + +If the C<content> option is a code reference, it will be called iteratively +to provide the content body of the request. It should return the empty +string or undef when the iterator is exhausted. + +=end original + +C<content> ¥ª¥×¥·¥ç¥ó¤¬¥³¡¼¥É¥ê¥Õ¥¡¥ì¥ó¥¹¤Î¾ì¹ç¡¢ +¥ê¥¯¥¨¥¹¥È¤ÎËÜÂΤòÄ󶡤¹¤ë¤¿¤á¤Ë¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ +È¿Éü»Ò¤ò½ª¤ï¤ë¾ì¹ç¡¢¶õʸ»úÎó¤« undef ¤òÊÖ¤¹É¬Íפ¬¤¢¤ê¤Þ¤¹¡£ + +=begin original + +If the C<data_callback> option is provided, it will be called iteratively until +the entire response body is received. The first argument will be a string +containing a chunk of the response body, the second argument will be the +in-progress response hash reference, as described below. (This allows +customizing the action of the callback based on the C<status> or C<headers> +received prior to the content body.) + +=end original + +C<data_callback> ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤ë¤È¡¢ +¥ì¥¹¥Ý¥ó¥¹ËÜÂÎÁ´ÂΤ¬¼õ¿®¤µ¤ì¤ë¤Þ¤Ç·«¤êÊÖ¤·¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¡£ +ºÇ½é¤Î°ú¿ô¤Ï¥ì¥¹¥Ý¥ó¥¹ËÜÂΤΥÁ¥ã¥ó¥¯¤ò´Þ¤àʸ»úÎó¤Ç¡¢2 ÈÖÌܤΰú¿ô¤Ï +¸å½Ò¤¹¤ëºî¶ÈÃæ¤Î¥ì¥¹¥Ý¥ó¥¹¤Î¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¤Ç¤¹¡£ +(¤³¤ì¤Ë¤è¤ê¡¢ËÜÂΤÎÁ°¤Ë¼õ¿®¤·¤¿ C<status> ¤ä C<headers> ¤ò´ð¤Ë¤·¤Æ +¥³¡¼¥ë¥Ð¥Ã¥¯¤ÎÆ°ºî¤òÊѤ¨¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£) + +=begin original + +The C<request> method returns a hashref containing the response. The hashref +will have the following keys: + +=end original + +C<request> ¥á¥½¥Ã¥É¤Ï¥ì¥¹¥Ý¥ó¥¹¤ò´Þ¤à¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¤òÊÖ¤·¤Þ¤¹¡£ +¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¤Ë¤Ï°Ê²¼¤Î¥¡¼¤ò»ý¤Á¤Þ¤¹: + +=over 4 + +=item * + +success + +=begin original + +Boolean indicating whether the operation returned a 2XX status code + +=end original + +Áàºî¤¬ 2XX ¥¹¥Æ¡¼¥¿¥¹¥³¡¼¥É¤òÊÖ¤·¤¿¤«¤É¤¦¤«¤ò¼¨¤¹¿¿µ¶ÃÍ + +=item * + +status + +=begin original + +The HTTP status code of the response + +=end original + +¥ì¥¹¥Ý¥ó¥¹¤Î HTTP ¥¹¥Æ¡¼¥¿¥¹ + +=item * + +reason + +=begin original + +The response phrase returned by the server + +=end original + +¥µ¡¼¥Ð¤«¤é¤Î¥ì¥¹¥Ý¥ó¥¹Ê¸»úÎó + +=item * + +content + +=begin original + +The body of the response. If the response does not have any content +or if a data callback is provided to consume the response body, +this will be the empty string + +=end original + +¥ì¥¹¥Ý¥ó¥¹¤ÎËÜÂΡ£ +¥ì¥¹¥Ý¥ó¥¹¤ËÆâÍƤ¬¤Ê¤«¤Ã¤¿¤ê¡¢¥ì¥¹¥Ý¥ó¥¹¤ÎËÜÂΤò½èÍý¤¹¤ë¤¿¤á¤Î +¥Ç¡¼¥¿¥³¡¼¥ë¥Ð¥Ã¥¯¤¬Ä󶡤µ¤ì¤¿¾ì¹ç¡¢¤³¤ì¤Ï¶õʸ»úÎó¤Î¾ì¹ç¤¬¤¢¤ê¤Þ¤¹¡£ + +=item * + +headers + +=begin original + +A hashref of header fields. All header field names will be normalized +to be lower case. If a header is repeated, the value will be an arrayref; +it will otherwise be a scalar string containing the value + +=end original + +¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¤Î¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹¡£ +Á´¤Æ¤Î¥Õ¥£¡¼¥ë¥É̾¤Ï¾®Ê¸»ú¤ËÀµµ¬²½¤µ¤ì¤Þ¤¹¡£ +¥Ø¥Ã¥À¤¬·«¤êÊÖ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢ÃͤÏÇÛÎó¥ê¥Õ¥¡¥ì¥ó¥¹¤Ë¤Ê¤ê¤Þ¤¹; +¤½¤ì°Ê³°¤Ç¤ÏÃͤò´Þ¤à¥¹¥«¥éʸ»úÎó¤Ç¤¹¡£ + +=back + +=begin original + +On an exception during the execution of the request, the C<status> field will +contain 599, and the C<content> field will contain the text of the exception. + +=end original + +¥ê¥¯¥¨¥¹¥È¤Î¼Â¹ÔÃæ¤ÎÎã³°¤¬µ¯¤¤¿¤Î¾ì¹ç¡¢C<status> ¥Õ¥£¡¼¥ë¥É¤Ë¤Ï 599 ¤¬Æþ¤ê¡¢ +C<content> ¥Õ¥£¡¼¥ë¥É¤ËÎã³°¤Î¥Æ¥¥¹¥È¤¬Æþ¤ê¤Þ¤¹¡£ + +=for Pod::Coverage agent +default_headers +max_redirect +max_size +proxy +timeout + +=head1 LIMITATIONS + +=begin original + +HTTP::Tiny is I<conditionally compliant> with the +L<HTTP/1.1 specification|http://www.w3.org/Protocols/rfc2616/rfc2616.html>. +It attempts to meet all "MUST" requirements of the specification, but does not +implement all "SHOULD" requirements. + +=end original + +HTTP::Tiny ¤Ï +L<HTTP/1.1 »ÅÍÍ|http://www.w3.org/Protocols/rfc2616/rfc2616.html> ¤Ë +I<ÉôʬŪ¤Ë½àµò> ¤·¤Æ¤¤¤Þ¤¹¡£ +»ÅÍͤÎÁ´¤Æ¤Î "MUST" Í×µá¤Ë½àµò¤·¤è¤¦¤È¤·¤Æ¤¤¤Þ¤¹¤¬¡¢ +Á´¤Æ¤Î "SHOULD" Í×µá¤Ï¼ÂÁõ¤·¤Æ¤¤¤Þ¤»¤ó¡£ + +=begin original + +Some particular limitations of note include: + +=end original + +Ãí°Õ¤¹¤ë¤Ù¤¤¤¤¯¤Ä¤«¤ÎÀ©¸Â¤Ï°Ê²¼¤Î¤â¤Î¤Ç¤¹: + +=over + +=item * + +=begin original + +HTTP::Tiny focuses on correct transport. Users are responsible for ensuring +that user-defined headers and content are compliant with the HTTP/1.1 +specification. + +=end original + +HTTP::Tiny ¤ÏÀµ¤·¤¤Å¾Á÷¤ËÃíÌܤ·¤Æ¤¤¤Þ¤¹¡£ +¥æ¡¼¥¶¤Ï¥æ¡¼¥¶ÄêµÁ¤Î¥Ø¥Ã¥À¤ÈÆâÍƤ¬ HTTP/1.1 »ÅÍͤ˽àµò¤¹¤ë¤³¤È¤Ë +ÀÕǤ¤¬¤¢¤ê¤Þ¤¹¡£ + +=item * + +=begin original + +Users must ensure that URLs are properly escaped for unsafe characters and that +international domain names are properly encoded to ASCII. See L<URI::Escape>, +L<URI::_punycode> and L<Net::IDN::Encode>. + +=end original + +¥æ¡¼¥¶¤Ï¡¢URL ¤ËÂФ·¤Æ°ÂÁ´¤Ç¤Ê¤¤Ê¸»ú¤¬¥¨¥¹¥±¡¼¥×¤µ¤ì¡¢¹ñºÝ¥É¥á¥¤¥ó̾¤¬ +ŬÀÚ¤Ë ASCII ¤Ë¥¨¥ó¥³¡¼¥É¤µ¤ì¤ë¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +L<URI::Escape>, L<URI::_punycode>, L<Net::IDN::Encode> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=item * + +=begin original + +Redirection is very strict against the specification. Redirection is only +automatic for response codes 301, 302 and 307 if the request method is 'GET' or +'HEAD'. Response code 303 is always converted into a 'GET' redirection, as +mandated by the specification. There is no automatic support for status 305 +("Use proxy") redirections. + +=end original + +¥ê¥À¥¤¥ì¥¯¥È¤Ï»ÅÍͤËÂФ·¤ÆÈó¾ï¤Ë¸·Ì©¤Ç¤¹¡£ +¥ê¥À¥¤¥ì¥¯¥È¤Ï¡¢¥ê¥¯¥¨¥¹¥È¥á¥½¥Ã¥É¤¬ 'GET' ¤Þ¤¿¤Ï 'HEAD' ¤Î¾ì¹ç¡¢ +¥ì¥¹¥Ý¥ó¥¹¥³¡¼¥É 301, 302, 307 ¤Î¾ì¹ç¤Ë¤Î¤ß¼«Æ°Åª¤Ë¹Ô¤ï¤ì¤Þ¤¹¡£ +¥ì¥¹¥Ý¥ó¥¹¥³¡¼¥É 303 ¤Ï¡¢»ÅÍͤǻØÄꤵ¤ì¤Æ¤¤¤ëÄ̤ꡢ +¾ï¤Ë 'GET' ¥ê¥À¥¤¥ì¥¯¥È¤ËÊÑ´¹¤µ¤ì¤Þ¤¹¡£ +¥¹¥Æ¡¼¥¿¥¹ 305 ("Use proxy") ¥ê¥À¥¤¥ì¥¯¥È¤Î¼«Æ°Âбþ¤Ï¤·¤Æ¤¤¤Þ¤»¤ó¡£ + +=item * + +=begin original + +Persistant connections are not supported. The C<Connection> header will +always be set to C<close>. + +=end original + +±Ê³Àܳ¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ +C<Connection> ¥Ø¥Ã¥À¤Ï¾ï¤Ë C<close> ¤ËÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ + +=item * + +=begin original + +Direct C<https> connections are supported only if L<IO::Socket::SSL> is +installed. There is no support for C<https> connections via proxy. +Any SSL certificate that matches the host is accepted -- SSL certificates +are not verified against certificate authorities. + +=end original + +ľÀÜ C<https> Àܳ¤Ï¡¢L<IO::Socket::SSL> ¤¬ +¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Î¤ßÂбþ¤·¤Þ¤¹¡£ +¥×¥í¥¥··Ðͳ¤Î C<https> Àܳ¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ +¥Û¥¹¥È¤Ë¥Þ¥Ã¥Á¥ó¥°¤¹¤ëÁ´¤Æ¤Î SSL ¾ÚÌÀ½ñ¤Ï¼õ¤±Æþ¤ì¤é¤ì¤Þ¤¹ -- +SSL ¾ÚÌÀ½ñ¤Îǧ¾Ú¶É¤Ø¤Î¸¡¾Ú¤Ï¹Ô¤ï¤ì¤Þ¤»¤ó¡£ + +=item * + +=begin original + +Cookies are not directly supported. Users that set a C<Cookie> header +should also set C<max_redirect> to zero to ensure cookies are not +inappropriately re-transmitted. + +=end original + +¥¯¥Ã¥¡¼¤ÏľÀÜÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ +C<Cookie> ¥Ø¥Ã¥À¤òÀßÄꤹ¤ë¥æ¡¼¥¶¤Ï¡¢ +¥¯¥Ã¥¡¼¤¬ÉÔŬÀڤ˺ÆÁ÷¿®¤µ¤ì¤Ê¤¤¤è¤¦¤Ë C<max_redirect> ¤ò¥¼¥í¤Ë +ÀßÄꤹ¤ë¤Ù¤¤Ç¤¹¡£ + +=item * + +=begin original + +Proxy environment variables are not supported. + +=end original + +¥×¥í¥¥·´Ä¶ÊÑ¿ô¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ + +=item * + +=begin original + +There is no provision for delaying a request body using an C<Expect> header. +Unexpected C<1XX> responses are silently ignored as per the specification. + +=end original + +C<Expect> ¥Ø¥Ã¥À¤ò»È¤Ã¤¿¥ê¥¯¥¨¥¹¥È¥Ü¥Ç¥£¤ÎÃÙ±ä¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ +ÁÛÄê³°¤ÎC<1XX> ¥ì¥¹¥Ý¥ó¥¹¤Ï¡¢»ÅÍÍÄ̤ê°ÅÌÛ¤Ë̵»ë¤µ¤ì¤Þ¤¹¡£ + +=item * + +=begin original + +Only 'chunked' C<Transfer-Encoding> is supported. + +=end original + +'chunked' C<Transfer-Encoding> ¤Î¤ß¤ËÂбþ¤·¤Æ¤¤¤Þ¤¹¡£ + +=item * + +=begin original + +There is no support for a Request-URI of '*' for the 'OPTIONS' request. + +=end original + +'OPTIONS' ¥ê¥¯¥¨¥¹¥È¤Ç Request-URI ¤Ë '*' ¤ò»ØÄꤹ¤ë¤Î¤Ë¤ÏÂбþ¤·¤Æ¤¤¤Þ¤»¤ó¡£ + +=back + +=head1 SEE ALSO + +=over 4 + +=item * + +L<LWP::UserAgent> + +=back + +=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders + +=head1 SUPPORT + +(¥µ¥Ý¡¼¥È) + +=head2 Bugs / Feature Requests + +(¥Ð¥° / µ¡Ç½¥ê¥¯¥¨¥¹¥È) + +=begin original + +Please report any bugs or feature requests by email to C<bug-h****@rt*****>, or through +the web interface at L<http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny>. You will be automatically notified of any +progress on the request by the system. + +=end original + +¥Ð¥°¤äµ¡Ç½¥ê¥¯¥¨¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢ +C<bug-h****@rt*****> ¤Ø¤Î¥á¡¼¥ë¤«¡¢ +L<http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny> ¤Î +web ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò»È¤Ã¤ÆÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡£ +¥ê¥¯¥¨¥¹¥È¤Ë¤Ê¤ó¤é¤«¤Î¿ÊŸ¤¬¤¢¤ì¤Ð¥·¥¹¥Æ¥à¤Ë¤è¤Ã¤Æ¼«Æ°Åª¤ËÄÌÃΤµ¤ì¤Þ¤¹¡£ + +=head2 Source Code + +=begin original + +This is open source software. The code repository is available for +public review and contribution under the terms of the license. + +=end original + +¤³¤ì¤Ï¥ª¡¼¥×¥ó¥½¡¼¥¹¥½¥Õ¥È¥¦¥§¥¢¤Ç¤¹¡£ +¥³¡¼¥É¥ê¥Ý¥¸¥È¥ê¤Ï¥é¥¤¥»¥ó¥¹¤Î¸µ¤Ç¸ø¼°¥ì¥Ó¥å¡¼¤ª¤è¤Ó¹×¸¥¤Î¤¿¤á¤ËÍøÍѲÄǽ¤Ç¤¹¡£ + +L<http://github.com/dagolden/p5-http-tiny/tree> + + git clone git://github.com/dagolden/p5-http-tiny.git + +=head1 AUTHORS + +=over 4 + +=item * + +Christian Hansen <chans****@cpan*****> + +=item * + +David Golden <dagol****@cpan*****> + +=back + +=head1 COPYRIGHT AND LICENSE + +This software is copyright (c) 2011 by Christian Hansen. + +This is free software; you can redistribute it and/or modify it under +the same terms as the Perl 5 programming language system itself. + +=begin meta + +Translate: SHIRAKATA Kentaro <argra****@ub32*****> +Status: completed + +=end meta + +=cut +