Date: Saturday March 09, 2019 @ 03:53 Author: argrath Update of /cvsroot/perldocjp/docs/modules/HTTP-Tiny-0.017 In directory sf-cvs:/tmp/cvs-serv83717/modules/HTTP-Tiny-0.017 Added Files: Tiny.pod Log Message: in progress =================================================================== File: Tiny.pod Status: Up-to-date Working revision: 1.1 Fri Mar 8 18:53:11 2019 Repository revision: 1.1 /cvsroot/perldocjp/docs/modules/HTTP-Tiny-0.017/Tiny.pod,v Existing Tags: No Tags Exist -------------- next part -------------- Index: docs/modules/HTTP-Tiny-0.017/Tiny.pod diff -u /dev/null docs/modules/HTTP-Tiny-0.017/Tiny.pod:1.1 --- /dev/null Sat Mar 9 03:53:11 2019 +++ docs/modules/HTTP-Tiny-0.017/Tiny.pod Sat Mar 9 03:53:11 2019 @@ -0,0 +1,784 @@ + +=encoding euc-jp + +=pod + +=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.017 + +=end original + +¥Ð¡¼¥¸¥ç¥ó 0.017 + +=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 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 * + +C<agent> + +=begin original + +A user-agent string (defaults to 'HTTP::Tiny/$VERSION') + +=end original + +¥æ¡¼¥¶¡¼¥¨¡¼¥¸¥§¥ó¥Èʸ»úÎó (¥Ç¥Õ¥©¥ë¥È¤Ï 'HTTP::Tiny/$VERSION') + +=item * + +C<default_headers> + +=begin original + +A hashref of default headers to apply to requests + +=end original + +¥ê¥¯¥¨¥¹¥È¤ËŬÍѤµ¤ì¤ë¥Ç¥Õ¥©¥ë¥È¤Î¥Ø¥Ã¥À¤Î¥Ï¥Ã¥·¥å¥ê¥Õ¥¡¥ì¥ó¥¹ + +=item * + +C<max_redirect> + +=begin original + +Maximum number of redirects allowed (defaults to 5) + +=end original + +¥ê¥À¥¤¥ì¥¯¥È¤ÎºÇÂç¿ô (¥Ç¥Õ¥©¥ë¥È¤Ï 5) + +=item * + +C<max_size> + +=begin original + +Maximum response size (only when not using a data callback). If defined, +responses larger than this will return an exception. + +=end original + +ºÇÂç¥ì¥¹¥Ý¥ó¥¹¥µ¥¤¥º (¥Ç¡¼¥¿¥³¡¼¥ë¥Ð¥Ã¥¯¤ò»È¤Ã¤Æ¤¤¤Ê¤¤¾ì¹ç¤Î¤ß)¡£ +ÄêµÁ¤µ¤ì¤ë¤È¡¢¤³¤ì¤è¤êÂ礤ʥ쥹¥Ý¥ó¥¹¤ÏÎã³°¤òÊÖ¤·¤Þ¤¹¡£ + +=item * + +C<proxy> + +=begin original + +URL of a proxy server to use (default is C<$ENV{http_proxy}> if set) + +=end original + +»È¤¦¥×¥í¥¥·¥µ¡¼¥Ð¤Î URL (¥Ç¥Õ¥©¥ë¥È¤Ï¡¢ÀßÄꤵ¤ì¤Æ¤¤¤ì¤Ð +C<$ENV{http_proxy}>)¡£ + +=item * + +C<timeout> + +=begin original + +Request timeout in seconds (default is 60) + +=end original + +¥ê¥¯¥¨¥¹¥È¤Î¥¿¥¤¥à¥¢¥¦¥ÈÉà (¥Ç¥Õ¥©¥ë¥È¤Ï 60) + +=back + +=begin original + +Exceptions from C<max_size>, C<timeout> or other errors will result in a +pseudo-HTTP status code of 599 and a reason of "Internal Exception". The +content field in the response will contain the text of the exception. + +=end original + +C<max_size>, C<timeout> ¤«¤é¤ÎÎã³°¤ä¤½¤Î¾¤Î¥¨¥é¡¼¤Ïµ¿»÷ HTTP ¥¹¥Æ¡¼¥¿¥¹¥³¡¼¥É +599 ¤ÈÍýͳ "Internal Exception" ¤òÊÖ¤·¤Þ¤¹¡£ +¥ì¥¹¥Ý¥ó¥¹¤Î content ¥Õ¥£¡¼¥ë¥É¤ÏÎã³°¤Î¥Æ¥¥¹¥È¤ò´Þ¤ß¤Þ¤¹¡£ + +=head2 get|head|put|post|delete + + $response = $http->get($url); + $response = $http->get($url, \%options); + $response = $http->head($url); + +=begin original + +These methods are shorthand for calling C<request()> for the given method. The +URL must have unsafe characters escaped and international domain names encoded. +See C<request()> for valid options and a description of the response. + +=end original + +¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¡¢»ØÄꤵ¤ì¤¿¥á¥½¥Ã¥É¤Ç C<request()> ¤ò¸Æ¤Ó½Ð¤¹¾Êά·Á¤Ç¤¹¡£ +URL ¤Ï°ÂÁ´¤Êʸ»ú¤ò¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢¹ñºÝ¥É¥á¥¤¥ó̾¤Ï +¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +͸ú¤Ê¥ª¥×¥·¥ç¥ó¤È¥ì¥¹¥Ý¥ó¥¹¤Ë´Ø¤¹¤ëÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï +C<request()> ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£ + +=begin original + +The C<success> field of the response will be true if the status code is 2XX. + +=end original + +¥ì¥¹¥Ý¥ó¥¹¤Î C<success> ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¹¥Æ¡¼¥¿¥¹¥³¡¼¥É¤¬ 2XX ¤Î¾ì¹ç¤Ë +¿¿¤Ë¤Ê¤ê¤Þ¤¹¡£ + +=head2 post_form + + $response = $http->post_form($url, $form_data); + $response = $http->post_form($url, $form_data, \%options); + +=begin original + +This method executes a C<POST> request and sends the key/value pairs from a +form data hash or array reference to the given URL with a C<content-type> of +C<application/x-www-form-urlencoded>. See documentation for the +C<www_form_urlencode> method for details on the encoding. + +=end original + +This method executes a C<POST> request and sends the key/value pairs from a +form data hash or array reference to the given URL with a C<content-type> of +C<application/x-www-form-urlencoded>. See documentation for the +C<www_form_urlencode> method for details on the encoding. +(TBT) + +=begin original + +The URL must have unsafe characters escaped and international domain names +encoded. See C<request()> for valid options and a description of the response. +Any C<content-type> header or content in the options hashref will be ignored. + +=end original + +The URL must have unsafe characters escaped and international domain names +encoded. See C<request()> for valid options and a description of the response. +Any C<content-type> header or content in the options hashref will be ignored. +(TBT) + +=begin original + +The C<success> field of the response will be true if the status code is 2XX. + +=end original + +¥ì¥¹¥Ý¥ó¥¹¤Î C<success> ¥Õ¥£¡¼¥ë¥É¤Ï¡¢¥¹¥Æ¡¼¥¿¥¹¥³¡¼¥É¤¬ 2XX ¤Î¾ì¹ç¤Ë +¿¿¤Ë¤Ê¤ê¤Þ¤¹¡£ + +=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 specify a different C<If-Modified-Since> header yourself in the C<< +$options->{headers} >> hash. + +=end original + +URL ¤ËÂФ·¤Æ C<GET> ¥ê¥¯¥¨¥¹¥È¤ò¼Â¹Ô¤·¡¢¥ì¥¹¥Ý¥ó¥¹ËÜÂΤò»ØÄꤵ¤ì¤¿ +¥Õ¥¡¥¤¥ë̾¤ËÊݸ¤·¤Þ¤¹¡£ +URL ¤Ï°ÂÁ´¤Ç¤Ê¤¤Ê¸»ú¤Ï¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ +¹ñºÝ¥É¥á¥¤¥ó̾¤Ï¥¨¥ó¥³¡¼¥É¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ¤»¤ó¡£ +¥Õ¥¡¥¤¥ë¤¬´û¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¡¢¥ê¥¯¥¨¥¹¥È¤Ë¤Ï¤½¤Î¥Õ¥¡¥¤¥ë¤ÎÊѹ¹»þ¹ï¤¬ +C<If-Modified-Since> ¥Ø¥Ã¥À¤Ë»ØÄꤵ¤ì¤Þ¤¹¡£ +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 if the status code is 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> ¥Õ¥£¡¼¥ë¥É¤ËÎã³°¤Î¥Æ¥¥¹¥È¤¬Æþ¤ê¤Þ¤¹¡£ + +=head2 www_form_urlencode + + $params = $http->www_form_urlencode( $data ); + $response = $http->get("http://example.com/query?$params"); + +=begin original + +This method converts the key/value pairs from a data hash or array reference +into a C<x-www-form-urlencoded> string. The keys and values from the data +reference will be UTF-8 encoded and escaped per RFC 3986. If a value is an +array reference, the key will be repeated with each of the values of the array +reference. The key/value pairs in the resulting string will be sorted by key +and value. + +=end original + +This method converts the key/value pairs from a data hash or array reference +into a C<x-www-form-urlencoded> string. The keys and values from the data +reference will be UTF-8 encoded and escaped per RFC 3986. If a value is an +array reference, the key will be repeated with each of the values of the array +reference. The key/value pairs in the resulting string will be sorted by key +and value. +(TBT) + +=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 + +Persistent 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 + +Only the C<http_proxy> environment variable is supported in the format +C<http://HOST:PORT/>. If a C<proxy> argument is passed to C<new> (including +undef), then the C<http_proxy> environment variable is ignored. + +=end original + +C<http_proxy> ´Ä¶ÊÑ¿ô¤Ï C<http://HOST:PORT/> ·¿¼°¤Ë¤Î¤ßÂбþ¤·¤Þ¤¹¡£ +(undef ¤Ç¤â) C<proxy> °ú¿ô¤¬ C<new> ¤ËÅϤµ¤ì¤ë¤È¡¢ +C<http_proxy> ´Ä¶ÊÑ¿ô¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ + +=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 through the issue tracker +at L<http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny>. +You will be notified automatically of any progress on your issue. + +=end original + +¥Ð¥°¤äµ¡Ç½¥ê¥¯¥¨¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢ +L<http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny> ¤Î +¥¤¥·¥å¡¼¥È¥é¥Ã¥«¡¼¤ò»È¤Ã¤ÆÊó¹ð¤·¤Æ¤¯¤À¤µ¤¤¡£ +¥¤¥·¥å¡¼¤Ë¤Ê¤ó¤é¤«¤Î¿ÊŸ¤¬¤¢¤ì¤Ð¼«Æ°Åª¤ËÄÌÃΤµ¤ì¤Þ¤¹¡£ + +=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<https://github.com/dagolden/p5-http-tiny> + + git clone https://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) 2012 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. + +=cut + +=begin meta + +Translate: SHIRAKATA Kentaro <argra****@ub32*****> +Status: in progress + +=end meta +