Print response headers. This option is always on for HEAD requests.
=item -d
Do B<not> print the content of the response.
=item -o <format>
Process HTML content in various ways before printing it. If the content type of the response is not HTML, then this option has no effect. The legal format values are; I<text>, I<ps>, I<links>, I<html> and I<dump>.
If you specify the I<text> format then the HTML will be formatted as plain latin1 text. If you specify the I<ps> format then it will be formatted as Postscript.
The I<links> format will output all links found in the HTML document. Relative links will be expanded to absolute ones.
The I<html> format will reformat the HTML code and the I<dump> format will just dump the HTML syntax tree.
673 名前:つづく mailto:sage [2007/03/15(木) 11:10:20 ]
=item -v
Print the version number of the program and quit.
=item -h
Print usage message and quit.
=item -x
Extra debugging output.
=item -a
Set text(ascii) mode for content input and output. If this option is not used, content input and output is done in binary mode.
=back
Because this program is implemented using the LWP library, it will only support the protocols that LWP supports.
674 名前:つづく mailto:sage [2007/03/15(木) 11:12:00 ]
=head1 SEE ALSO
L<lwp-mirror>, L<LWP>
=head1 COPYRIGHT
Copyright 1995-1999 Gisle Aas.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
=head1 AUTHOR
Gisle Aas <gisle@aas.no>
=cut
$progname = $0; $progname =~ s,.*[\\/],,; # use basename only $progname =~ s/\.\w*$//; # strip extension, if any
use HTTP::Status qw(status_message); use HTTP::Date qw(time2str str2time);
# This table lists the methods that are allowed. It should really be # a superset for all methods supported for every scheme that may be # supported by the library. Currently it might be a bit too HTTP # specific. You might use the -f option to force a method through. # # "" = No content in request, "C" = Needs content in request # %allowed_methods = ( GET => "", HEAD => "", POST => "C", PUT => "C", DELETE => "", TRACE => "", OPTIONS => "", );
676 名前:つづく mailto:sage [2007/03/15(木) 11:15:20 ]
=back
The following options controls what is displayed by the program:
=over 4
=item -u
Print request method and absolute URL as requests are made.
=item -U
Print request headers in addition to request method and absolute URL.
=item -s
Print response status code. This option is always on for HEAD requests.
=item -S
Print response status chain. This shows redirect and autorization requests that are handled by the library.
677 名前:つづく mailto:sage [2007/03/15(木) 11:16:12 ]
=item -i <time>
Set the If-Modified-Since header in the request. If I<time> it the name of a file, use the modification timestamp for this file. If I<time> is not a file, it is parsed as a literal date. Take a look at L<HTTP::Date> for recogniced formats.
=item -c <content-type>
Set the Content-Type for the request. This option is only allowed for requests that take a content, i.e. POST and PUT. You can force methods to take content by using the C<-f> option together with C<-c>. The default Content-Type for POST is C<application/x-www-form-urlencoded>. The default Content-type for the others is C<text/plain>.
=item -p <proxy-url>
Set the proxy to be used for the requests. The program also loads proxy settings from the environment. You can disable this with the C<-P> option.
# We make our own specialization of LWP::UserAgent that asks for # user/password if document is protected. { package RequestAgent; @ISA = qw(LWP::UserAgent);
sub new { my $self = LWP::UserAgent::new(@_); $self->agent("lwp-request/$main::VERSION"); $self; }
679 名前:つづく mailto:sage [2007/03/15(木) 11:24:36 ]
sub get_basic_credentials { my($self, $realm, $uri) = @_; if ($main::options{'C'}) { return split(':', $main::options{'C'}, 2); } elsif (-t) { my $netloc = $uri->host_port; print "Enter username for $realm at $netloc: "; my $user = <STDIN>; chomp($user); return (undef, undef) unless length $user; print "Password: "; system("stty -echo"); my $password = <STDIN>; system("stty echo"); print "\n"; # because we disabled echo chomp($password); return ($user, $password); } else { return (undef, undef) } } }
my @getopt_args = ( 'a', # content i/o in text(ascii) mode 'm=s', # set method 'f', # make request even if method is not in %allowed_methods 'b=s', # base url 't=s', # timeout 'i=s', # if-modified-since 'c=s', # content type for POST 'C=s', # credentials for basic authorization 'H=s@', # extra headers, form "Header: value string" # 'u', # display method, URL and headers of request 'U', # display request headers also 's', # display status code 'S', # display whole chain of status codes 'e', # display response headers (default for HEAD) 'd', # don't display content # 'h', # print usage 'v', # print version # 'x', # extra debugging info 'p=s', # proxy URL 'P', # don't load proxy setting from environment # 'o=s', # output format );
681 名前:つづく mailto:sage [2007/03/15(木) 11:25:53 ]
Getopt::Long::config("noignorecase", "bundling"); unless (GetOptions(\%options, @getopt_args)) { usage(); } if ($options{'v'}) { require LWP; my $DISTNAME = 'libwww-perl-' . LWP::Version(); die <<"EOT"; This is lwp-request version $VERSION ($DISTNAME)
Copyright 1995-1999, Gisle Aas.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. EOT }
682 名前:つづく mailto:sage [2007/03/15(木) 11:26:32 ]
usage() if $options{'h'} || !@ARGV;
LWP::Debug::level('+') if $options{'x'};
# Create the user agent object $ua = RequestAgent->new;
$method = uc($options{'m'}) if defined $options{'m'};
if ($options{'f'}) { if ($options{'c'}) { $allowed_methods{$method} = "C"; # force content } else { $allowed_methods{$method} = ""; } } elsif (!defined $allowed_methods{$method}) { die "$progname: $method is not an allowed method\n"; }
683 名前:つづき mailto:sage [2007/03/15(木) 11:26:52 ]
>679のつづき
=head1 SEE ALSO
L<lwp-mirror>, L<LWP>
=head1 COPYRIGHT
Copyright 1995-1999 Gisle Aas.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
=head1 AUTHOR
Gisle Aas <gisle@aas.no>
=cut
$progname = $0; $progname =~ s,.*[\\/],,; # use basename only $progname =~ s/\.\w*$//; # strip extension, if any
Set the If-Modified-Since header in the request. If I<time> it the name of a file, use the modification timestamp for this file. If I<time> is not a file, it is parsed as a literal date. Take a look at L<HTTP::Date> for recogniced formats.
=item -c <content-type>
Set the Content-Type for the request. This option is only allowed for requests that take a content, i.e. POST and PUT. You can force methods to take content by using the C<-f> option together with C<-c>. The default Content-Type for POST is C<application/x-www-form-urlencoded>. The default Content-type for the others is C<text/plain>.
=item -p <proxy-url>
Set the proxy to be used for the requests. The program also loads proxy settings from the environment. You can disable this with the C<-P> option.
$content = undef; if ($allowed_methods{$method} eq "C") { # This request needs some content unless (defined $options{'c'}) { # set default content type $options{'c'} = ($method eq "POST") ? "application/x-www-form-urlencoded" : "text/plain"; } else { die "$progname: Illegal Content-type format\n" unless $options{'c'} =~ m,^[\w\-]+/[\w\-]+(?:\s*;.*)?$, } print "Please enter content ($options{'c'}) to be ${method}ed:\n" if -t; binmode STDIN unless -t or $options{'a'}; $content = join("", <STDIN>); } else { die "$progname: Can't set Content-type for $method requests\n" if defined $options{'c'}; }
@echo off echo 〜〜〜レス番占い〜〜〜 echo レス番号から性格を占います。あなたが書き込んだレスの番号を入力してください。 setlocal enabledelayedexpansion set /P resuban= set /A num=%resuban%%%13 set y=%date:~,4%&set m=%date:~5,2%&set d=%date:~8,2% if "%m:~0,1%"=="0" set m=%m:~1% if "%d:~0,1%"=="0" set d=%d:~1% set t[1]=0&set t[2]=3&set t[3]=2&set t[4]=5&set t[5]=0&set t[6]=3&set t[7]=5&set t[8]=1&set t[9]=4&set t[10]=6&set t[11]=2&set t[12]=4 if %m% lss 3 set /a y=%y%-1 set /a i=(%y% + %y%/4 - %y%/100 + %y%/400 + !t[%m%]! + %d%) %% 7 set youbi[0]=日&set youbi[1]=月&set youbi[2]=火&set youbi[3]=水&set youbi[4]=木&set youbi[5]=金&set youbi[6]=土 set result[0]=誘導厨 set result[1]=スレ違い君 set result[2]=病人 set result[3]=発達障害 set result[4]=統合失調症 set result[5]=高機能自閉症 set result[6]=箸じゃなくても歯ブラシでも食べれることに気がついた set result[7]=悪口書き込みたいが為だけにスタンバってる set result[8]=どこかにうpるという選択幅が思いつかなかった set result[9]=自分の作ったものを誇示したかった set result[10]=アスペルガー set result[11]=パソコン初心者 set result[12]=人間初心者 echo. echo 名前:%resuban%[sage] 投稿日:%date%(!youbi[%i%]!) %time:~,8% echo ちなみにボクは!result[%num%]!です
@rem = '--*-Perl-*-- @echo off if "%OS%" == "Windows_NT" goto WinNT perl -x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 goto endofperl :WinNT perl -x -S %0 %* if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto endofperl if %errorlevel% == 9009 echo You do not have Perl in your PATH. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul goto endofperl @rem '; #!perl #line 15 eval 'exec perl -x -S "$0" ${1+"$@"}' if 0; # In case running under some shell
my $usage = <<EOT; Usage: $0 [-h] or: $0 [-w] [-u] [-a argstring] [-s stripsuffix] [files] or: $0 [-w] [-u] [-n ntargs] [-o otherargs] [-s stripsuffix] [files] -n ntargs arguments to invoke perl with in generated file when run from Windows NT. Defaults to '-x -S %0 %*'. -o otherargs arguments to invoke perl with in generated file other than when run from Windows NT. Defaults to '-x -S "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9'. -a argstring arguments to invoke perl with in generated file ignoring operating system (for compatibility with previous pl2bat versions). -u update files that may have already been processed by (some version of) pl2bat. -w include "-w" on the /^#!.*perl/ line (unless a /^#!.*perl/ line was already present). -s stripsuffix strip this suffix from file before appending ".bat" Not case-sensitive Can be a regex if it begins with `/' Defaults to "/\.plx?/" -h show this help EOT
} else { $head = <<EOT; \@rem = '--*-Perl-*-- \@echo off if "%OS%" == "Windows_NT" goto WinNT perl $OPT{'o'} goto endofperl :WinNT perl $OPT{'n'} if NOT "%COMSPEC%" == "%SystemRoot%\\system32\\cmd.exe" goto endofperl if %errorlevel% == 9009 echo You do not have Perl in your PATH. if errorlevel 1 goto script_failed_so_exit_with_non_zero_val 2>nul goto endofperl \@rem '; EOT }
This utility converts a perl script into a batch file that can be executed on DOS-like operating systems. This is intended to allow you to use a Perl script like regular programs and batch files where you just enter the name of the script [probably minus the extension] plus any command-line arguments and the script is found in your B<PATH> and run.
There are several alternatives to this method of running a Perl script. They each have disadvantages that help you understand the motivation for using B<pl2bat>.