ktats****@users*****
ktats****@users*****
2011年 2月 10日 (木) 11:38:18 JST
Index: docs/modules/Furl-0.22/lib/Furl.pod diff -u docs/modules/Furl-0.22/lib/Furl.pod:1.2 docs/modules/Furl-0.22/lib/Furl.pod:removed --- docs/modules/Furl-0.22/lib/Furl.pod:1.2 Thu Feb 10 05:07:18 2011 +++ docs/modules/Furl-0.22/lib/Furl.pod Thu Feb 10 11:38:18 2011 @@ -1,518 +0,0 @@ -=encoding utf8 - -=encoding utf8 - -=head1 åå - -=begin original - -Furl - Lightning-fast URL fetcher - -=end original - -Furl - 軽éã§éã URL fecher - -=head1 æ¦è¦ - - use Furl; - - my $furl = Furl->new( - agent => 'MyGreatUA/2.0', - timeout => 10, - ); - - my $res = $furl->get('http://example.com/'); - die $res->status_line unless $res->is_success; - print $res->content; - - my $res = $furl->post( - 'http://example.com/', # URL - [...], # headers - [ foo => 'bar' ], # form data (HashRef/FileHandle are also okay) - ); - - # Accept-Encoding is supported but optional - $furl = Furl->new( - headers => [ 'Accept-Encoding' => 'gzip' ], - ); - my $body = $furl->get('http://example.com/some/compressed'); - -=head1 説æ - -=begin original - -Furl is yet another HTTP client library. LWP is the de facto standard HTTP -client for Perl5, but it is too slow for some critical jobs, and too complex -for weekend hacking. Furl resolves these issues. Enjoy it! - -=end original - -Furlã¯ããä¸ã¤ã®HTTPã¯ã©ã¤ã¢ã³ãã©ã¤ãã©ãªã§ããLWPã¯Perl5ã®ããã¡ã¯ãã¹ã¿ã³ãã¼ã㪠-HTTPã¯ã©ã¤ã¢ã³ãã§ãããã¯ãªãã£ã«ã«ãªã¸ã§ãã§ã¯é ããã¾ãããé±æ«ã®ãããã³ã°ã«ã¯ -è¤ééãã¾ããFurlã¯ãããã®åé¡ã解決ãã¾ãã楽ããã§ä¸ããï¼ - -=begin original - -This library is an B<beta> software. Any API may change without notice. - -=end original - -ãã®ã©ã¤ãã©ãªã¯ B<ãã¼ã¿>ã½ããã¦ã§ã¢ã§ããäºåãªãAPIãå¤æ´ãããããç¥ãã¾ããã - -=head1 ã¤ã³ã¿ã¼ãã§ã¼ã¹ - -=head2 ã¯ã©ã¹ã¡ã½ãã - -=head3 C<< Furl->new(%args | \%args) :Furl >> - -=begin original - -Creates and returns a new Furl client with I<%args>. Dies on errors. - -=end original - -I<%args>ã§æ°ããFurlã¯ã©ã¤ã¢ã³ããä½ãã¾ããã¨ã©ã¼ãããã°æ»ã«ã¾ãã - -=begin original - -I<%args> might be: - -=end original - -I<%args> ã¯: - -=over - -=item agent :Str = "Furl/$VERSION" - -=item timeout :Int = 10 - -=item max_redirects :Int = 7 - -=item proxy :Str - -=item no_proxy :Str - -=item headers :ArrayRef - -=back - -=head2 ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ãã - -=head3 C<< $furl->request([$request,] %args) :Furl::Response >> - -=begin original - -Sends an HTTP request to a specified URL and returns a instance of L<Furl::Response>. - -=end original - -HTTPãªã¯ã¨ã¹ããæå®ã®URLã«éããL<Furl::Response>ã®ã¤ã³ã¹ã¿ã³ã¹ãè¿ãã¾ãã - -=begin original - -I<%args> might be: - -=end original - -$<%args> ã¯: - -=over - -=item scheme :Str = "http" - -=begin original - -Protocol scheme. May be C<http> or C<https>. - -=end original - -ãããã³ãã¹ãã¼ããC<http> ã C<https> ã§ãããã - -=item host :Str - -=begin original - -Server host to connect. - -=end original - -æ¥ç¶ãããµã¼ããã¹ãã - -=begin original - -You must specify at least C<host> or C<url>. - -=end original - -C<host> ã C<url>ã®ãããããæå®ããªããã°ããã¾ããã - -=item port :Int = 80 - -=begin original - -Server port to connect. The default is 80 on C<< scheme => 'http' >>, -or 443 on C<< scheme => 'https' >>. - -=end original - -æ¥ç¶ãããµã¼ãã®ãã¼ããããã©ã«ãã¯ãC<< schema => 'http' >>ãªã80ã§ã -C<< scheme => 'https' >>ãªãã443ã§ãã - -=item path_query :Str = "/" - -=begin original - -Path and query to request. - -=end original - -ãªã¯ã¨ã¹ããããã¹ã¨ã¯ã¨ãªã - -=item url :Str - -=begin original - -URL to request. - -=end original - -ãªã¯ã¨ã¹ãããURLã - -=begin original - -You can use C<url> instead of C<scheme>, C<host>, C<port> and C<path_query>. - -=end original - -C<schema>ãC<host>ãC<port>ãC<path_query>ãæå®ãã代ããã«C<url>ã使ãã¾ãã - -=item headers :ArrayRef - -=begin original - -HTTP request headers. e.g. C<< headers => [ 'Accept-Encoding' => 'gzip' ] >>. - -=end original - -HTTPãªã¯ã¨ã¹ãããããä¾ C<< headers => [ 'Accept-Encoding' => 'gzip' ] >>. - -=item content : Str | ArrayRef[Str] | HashRef[Str] | FileHandle - -=begin original - -Content to request. - -=end original - -ãªã¯ã¨ã¹ãããå 容ã - -=back - -=begin original - -If the number of arguments is an odd number, this method assumes that the -first argument is an instance of C<HTTP::Request>. Remaining arguments -can be any of the previously describe values (but currently there's no -way to really utilize them, so don't use it) - -=end original - -å¼æ°ã®æ°ãå¥æ°ã®å ´åããã®ã¡ã½ããã¯æåã®å¼æ°ã C<HTTP::Request>ã®ã¤ã³ã¹ã¿ã³ã¹ã¨ -æ³å®ãã¾ããæ®ãã®å¼æ°ã¯å ã«èª¬æãããããã®å¤ãåãã¾ã(ã§ãããä»ã®æ, -ãããã®å¤ã¯å®éã«ã¯å½¹ã«ãã¡ã¾ãããã§ãã®ã§ã使ããªãã§ä¸ãã)ã - - my $req = HTTP::Request->new(...); - my $res = $furl->request($req); - -=begin original - -You can also specify an object other than HTTP::Request, but the object -must implement the following methods: - -=end original - -HTTP::Request以å¤ã®ãªãã¸ã§ã¯ããæå®ã§ãã¾ãããæå®ãããªãã¸ã§ã¯ã㯠-以ä¸ã®ã¡ã½ãããå®è£ ãã¦ããªãã¦ã¯ããã¾ããã - -=over 4 - -=item uri - -=item method - -=item content - -=item headers - -=back - -=begin original - -These must return the same type of values as their counterparts in -C<HTTP::Request>. - -=end original - -C<HTTP::Request>ã«ããã¡ã½ããã¨åãã¿ã¤ãã®å¤ãè¿ããªãã¦ã¯è¡ãã¾ããã - -=begin original - -You must encode all the queries or this method will die, saying -C<Wide character in ...>. - -=end original - -ãã¹ã¦ã®ã¯ã¨ãªãã¨ã³ã³ã¼ãããå¿ è¦ãããã¾ãããããªãã°ãC<Wide character in ...> -ãåãã¦æ»ã«ã¾ãã - -=head3 C<< $furl->get($url :Str, $headers :ArrayRef[Str] ) >> - -=begin original - -This is an easy-to-use alias to C<request()>, sending the C<GET> method. - -=end original - -C<request()>ç°¡åã«ä½¿ãããã®ã¨ã¤ãªã¢ã¹ã§ããC<GET>ã¡ã½ãããéãã¾ãã - -=head3 C<< $furl->head($url :Str, $headers :ArrayRef[Str] ) >> - -=begin original - -This is an easy-to-use alias to C<request()>, sending the C<HEAD> method. - -=end original - -C<request()>ç°¡åã«ä½¿ãããã®ã¨ã¤ãªã¢ã¹ã§ããC<HED>ã¡ã½ãããéãã¾ãã - -=head3 C<< $furl->post($url :Str, $headers :ArrayRef[Str], $content :Any) >> - -=begin original - -This is an easy-to-use alias to C<request()>, sending the C<POST> method. - -=end original - -C<request()>ç°¡åã«ä½¿ãããã®ã¨ã¤ãªã¢ã¹ã§ããC<POST>ã¡ã½ãããéãã¾ãã - -=head3 C<< $furl->put($url :Str, $headers :ArrayRef[Str], $content :Any) >> - -=begin original - -This is an easy-to-use alias to C<request()>, sending the C<PUT> method. - -=end original - -C<request()>ç°¡åã«ä½¿ãããã®ã¨ã¤ãªã¢ã¹ã§ããC<PUT>ã¡ã½ãããéãã¾ãã - -=head3 C<< $furl->delete($url :Str, $headers :ArrayRef[Str] ) >> - -=begin original - -This is an easy-to-use alias to C<request()>, sending the C<DELETE> method. - -=end original - -C<request()>ç°¡åã«ä½¿ãããã®ã¨ã¤ãªã¢ã¹ã§ããC<DELETE>ã¡ã½ãããéãã¾ãã - -=head3 C<< $furl->env_proxy() >> - -=begin original - -Loads proxy settings from C<< $ENV{HTTP_PROXY} >> and C<< $ENV{NO_PROXY} >>. - -=end original - -C<< $ENV{HTTP_PROXY} >> 㨠C<< $ENV{NO_PROXY} >> ãããããã·è¨å®ãèªã¿ãã¿ã¾ãã - -=head1 FAQ - -=over 4 - -=item Furlã¯XSã¢ã¸ã¥ã¼ã«ã«ä¾åãã¾ããï¼ - -=begin original - -=item Does Furl depends on XS modules? - -=end original - -=begin original - -No. Although some optional features require XS modules, basic features are -available without XS modules. - -=end original - -ããããããã¤ãã®ãªãã·ã§ãã«ãªæ©è½ã¯XSã¢ã¸ã¥ã¼ã«ãå¿ è¦ã¨ãã¾ããã -åºæ¬çãªæ©è½ã¯XSã¢ã¸ã¥ã¼ã«ãªãã«ä½¿ãã¾ãã - -=begin original - -Note that Furl requires HTTP::Parser::XS, which seems an XS module -but includes a pure Perl backend, HTTP::Parser::XS::PP. - -=end original - -Furlã¯HTTP::Parser::XSãå¿ è¦ã¨ãã¾ããããã¯XSã¢ã¸ã¥ã¼ã«ã®ããã§ããã -pure Perlã®ããã¯ã¨ã³ãã§ããHTTP::Parser::XS::PPãå«ãã§ãã¾ãã - -=begin original - -=item I need more speed. - -=end original - -=item ãã£ã¨ã¹ãã¼ããå¿ è¦ã§ãã - -=begin original - -See L<Furl::HTTP>, which provides the low level interface of L<Furl>. -It is faster than C<Furl.pm> since L<Furl::HTTP> does not create response objects. - -=end original - -L<Furl::HTTP> ãè¦ã¦ãã ãããL<Furl>ã®ä½ã¬ãã«ã®ã¤ã³ã¿ã¼ãã§ã¼ã¹ãæä¾ãã¦ãã¾ãã -L<Furl::HTTP>ã¯ã¬ã¹ãã³ã¹ãªãã¸ã§ã¯ããä½ããªãã®ã§C<Furl.pm>ããéãã§ãã - -=begin original - -=item How do you use cookie_jar? - -=end original - -=item cookie_jar ã使ãã«ã¯? - -=begin original - -Furl does not directly support the cookie_jar option available in LWP. You can use L<HTTP::Cookies>, L<HTTP::Request>, L<HTTP::Response> like following. - -=end original - -Furl ã¯LWPã§ä½¿ããcookie_jarãªãã·ã§ã³ãç´æ¥ã«ã¯ãµãã¼ããã¾ããã L<HTTP::Cookies>ã L<HTTP::Request>ã L<HTTP::Response>ã使ã£ã¦ -以ä¸ã®ããã«ã§ãã¾ãã - - - my $f = Furl->new(); - my $cookies = HTTP::Cookies->new(); - my $req = HTTP::Request->new(...); - $cookies->add_cookie_header($req); - my $res = H$f->request_with_http_request($req)->as_http_response; - $res->request($req); - $cookies->extract_cookies($res); - # and use $res. - -=begin original - -=item How do you limit the response content length? - -=end original - -=item ã³ã³ãã³ãã¬ã³ã°ã¹ãã©ã®ããã«å¶éã§ãã¾ãã? - -=begin original - -You can limit the content length by callback function. - -=end original - -ã³ã¼ã«ããã¯é¢æ°ã使ã£ã¦ã³ã³ãã³ãã¬ã³ã°ã¹ãå¶éã§ãã¾ãã - - my $f = Furl->new(); - my $content = ''; - my $limit = 1_000_000; - my %special_headers = ('content-length' => undef); - my $res = $f->request( - method => 'GET', - url => $url, - special_headers => \%special_headers, - write_code => sub { - my ( $status, $msg, $headers, $buf ) = @_; - if (($special_headers{'content-length'}||0) > $limit || length($content) > $limit) { - die "over limit: $limit"; - } - $content .= $buf; - } - ); - -=begin original - -=item How do you display the progress bar? - -=end original - -ããã°ã¬ã¹ãã¼ã表示ã§ãã¾ãã? - - my $bar = Term::ProgressBar->new({count => 1024, ETA => 'linear'}); - $bar->minor(0); - $bar->max_update_rate(1); - - my $f = Furl->new(); - my $content = ''; - my %special_headers = ('content-length' => undef);; - my $did_set_target = 0; - my $received_size = 0; - my $next_update = 0; - $f->request( - method => 'GET', - url => $url, - special_headers => \%special_headers, - write_code => sub { - my ( $status, $msg, $headers, $buf ) = @_; - unless ($did_set_target) { - if ( my $cl = $special_headers{'content-length'} ) { - $bar->target($cl); - $did_set_target++; - } - else { - $bar->target( $received_size + 2 * length($buf) ); - } - } - $received_size += length($buf); - $content .= $buf; - $next_update = $bar->update($received_size) - if $received_size >= $next_update; - } - ); - -=back - -=head1 èè - -Tokuhiro Matsuno E<lt>tokuhirom AAJKLFJEF GMAIL COME<gt> - -Fuji, Goro (gfx) - -=head1 è¬è¾ - -Kazuho Oku - -mala - -mattn - -lestrrat - -walf443 - -lestrrat - -=head1 åç § - -L<LWP> - -L<Furl::HTTP> - -L<Furl::Response> - -=head1 ã©ã¤ã»ã³ã¹ - -Copyright (C) Tokuhiro Matsuno. - -This library is free software; you can redistribute it and/or modify -it under the same terms as Perl itself. - - -=cut -