Skip to content

Latest commit

 

History

History
406 lines (276 loc) · 11.7 KB

File metadata and controls

406 lines (276 loc) · 11.7 KB

NAME

HTTP::Request::Common - 羆�������HTTP::Request ��ŝ����吾�с�壔����勛����睡����

SYNOPSIS

use HTTP::Request::Common;
$ua = LWP::UserAgent->new;
$ua->request(GET 'http://www.sn.no/');
$ua->request(POST 'http://somewhere/foo', [foo => bar, bar => foo]);

DESCRIPTION

�����勉�≪�吾�ャ�若�˨�壩�違����鋎������������� HTTP::Request ��ŝ����吾�с�壔����� 菴������∽�違�����箴������障����� �����������勰�∽�違�壔����������勌����㋜����ŝ�ŝ�壔����鴻����勉�������勖��羣���� HTTP::Request ��潟�潟�鴻����í�壔�帥��������������絽吾�����篏帥����������������勉�с����� 篁ヤ����勰�∽�違�����箴���������障��:

GET $url
GET $url, Header => Value,...

GET() ��∽�違�� GET ��<�純�����������絎���������� URL ��у����������������� HTTP::Request ��ŝ����吾�с�壔�����菴������障����� ��������壔����������c�宴�˨�壚札筝���勐�若�喝�冴�������������с��:

HTTP::Request->new(
   GET => $url,
   HTTP::Headers->new(Header => Value,...),
)

�����������c����������壠����ŝ����с����� �����������������壔��Content �����������������勉����������壔�������������c�若�˨����� 荐㊤����������勉�с�壔�ŝ�������ŝ�壔����鴻����勐��絎鴻�������☗����������������障����� GET ��ŝ�壔����鴻����壩�勰�����絎鴻����������ŝ����勉�с��緇�菴違����� PUT() ��<�純������� POST() ��<�純����������������壔�������鴻�������˨����ŝ�c�⓾��������������羈���������⓾��������������

LWP::UserAgent ��� get(...) ��<�純�������壔��$ua->request(GET ...) ��吾� ��激�с�若����˨�������������☗����������⓾����障�����

HEAD $url
HEAD $url, Header => Value,...

GET() ������罕���с�������������勉�<�純�������勉�ŝ�壔����鴻����� "HEAD" ��с�����

LWP::UserAgent ��� head(...) ��<�純�������� $ua->request(HEAD ...) ��吾� ��激�с�若����˨�������������☗����������⓾����障�����

PUT $url
PUT $url, Header => Value,...
PUT $url, Header => Value,..., Content => $content

GET() ������罕���с�������������勉�<�純�������勉�ŝ�壔����鴻����� "PUT" ��с�����

�����勉�ŝ�壔����鴻����勐��絎鴻�� "Content" ���篌若�����������篏帥�c�〠��絎���с����障����� ��������壔�������������c�若�˨��������腥咲�������祉����勐����������������⓾�������勉�с�� ��㋚����� "Content" �����������������勉�������������贋・���絎���������号����壔�������障�������� �����������㋚�����綽�荀���ŝ�������ャ����勖����ц�������������ŝ�壔����鴻����� ��贋�違����ŝ�������違�ŝ����障��������

DELETE $url
DELETE $url, Header => Value,...

GET() ������罕���с�������������勉�<�純�������勉�ŝ�壔����鴻����� "DELETE" ��с����� �����勰�∽�違�壔�������í�˨����с�壔����壔�鴻����若����������障��������

POST $url
POST $url, Header => Value,...
POST $url, $form_ref, Header => Value,...
POST $url, Header => Value,..., Content => $form_ref
POST $url, Header => Value,..., Content => $content

��������� "POST" �����<�純�������������⓾�祉�������� PUT() ��勉��������罘���純����障����� ��������������勰�∽�違�� 2 ��ɾ�勉�勉�ŝ����激�с�潟�勰�������障����壔�������激�ャ�ŝ����<�㋘�潟�鴻� �����í�<�若�� $form_ref �����������障����� PUT() ��с�� "Content" ���篌若�����������篏帥�c�☎�贋・���絎������������������с����障�������� �����勖�号����� $form_ref ������箴������������������с����障�����

$form_ref 綣���違�壔����í�若����潟�潟����潟����勉�������勉�㏍��/��ゃ�勛�����羝<���������� 篏帥�������������堺�ャ�障����� ��������í�˨����с�� application/x-www-form-urlencoded ��潟�潟����潟����帥�ゃ����� 篏帥�c�⓾�ŝ�壔����鴻�������������������障����� ��ゃ�障��篁ヤ����勉�������˨����� HTML <form> POST��������������� ��������ャ�㋘�若����с����障��鐚�

POST 'http://www.perl.org/survey.cgi',
     [ name   => 'Gisle Aas',
       email  => 'gisle@aas.no',
       gender => 'M',
       born   => '1964',
       perc   => '3%',
     ];

��������壚札筝���勉�������� HTTP::Request ��ŝ����吾�с�壔�����篏���������障��鐚�

POST http://www.perl.org/survey.cgi
Content-Length: 66
Content-Type: application/x-www-form-urlencoded

name=Gisle%20Aas&email=gisle%40aas.no&gender=M&born=1964&perc=3%25

茲���違�勐�ゃ�������ゃ����í�若�������c�若�˨����壔�������c�若�˨��������膵違��菴���������� ��������ŝ����<�㋘�潟�鴻��羝<����������ф��絎���с����障�����

POST ��<�純��������RFC1867 ��хず��������� Form-based File Upload ��勉�������˩戎��������� multipart/form-data ��潟�潟����潟�������泣����若�������障����� ��ŝ�壔����鴻�������������勌����ゃ�������� 'form-data' ��勉�潟�潟����潟����帥�ゃ����� ���絎���������������˨�������������勉�潟�潟����潟�������í�若�������������ñ�������������������堺�ャ�障����� ������ $form_ref ��勌賢��勐�ゃ��1��ゃ����������ŝ����<�㋘�潟�鴻�с�������違����������壚札筝���勤В����� �����<�ゃ�̹�������勖��絎���с����������������宴�������障��:

[ $file, $filename, Header => Value... ]
[ undef, $filename, Header => Value,..., Content => $content ]

��������с�勐����㏍�勐�� ($file) ��壔�ŝ�若����潟����������<�ゃ�˨�勐�������с����� �����勉����<�ゃ�˨�虁˛��帥����障����������勐��絎鴻����ŝ�壔����鴻�������ャ����������障����� �����������<�ゃ�˨����ŝ�若����潟�с����ŝ�������違�˨�若����潟�� croak �����障����� ��潟�潟����潟�������贋・ Content �����������ф��絎���������������� $file ��勐�ゃ�� undef �� �����⓾�������������� $filename ��壔�ŝ�壔����鴻����у�怨����������������<�ゃ�������с����� �����勐�ゃ����ɱ��臂í�с�������違��$file ��勐�堺�㋚�����篏帥�������障����� $file ��勐�ゃ�����箴���������������������<�ゃ�������勰��篆<�������������������������ŝ����� $filename ��̥Ã���絖����������絎������������������с����障�����

Content-Type ��ŝ����� $file ������箴������������翫�����Content-Type �� Content-Encoding ��� LWP::MediaTypes::guess_media_type() �� 菴������ゃ��篏帥�c�☀�ɱ����������������������障�����

筝�荐���勌����������� ~/.profile ��� survey ��̹��篆<��������������篁ヤ����勉�������˨���� 絎��憗�с����障��:

POST 'http://www.perl.org/survey.cgi',
     Content_Type => 'form-data',
     Content      => [ name  => 'Gisle Aas',
                       email => 'gisle@aas.no',
                       gender => 'M',
                       born   => '1964',
                       init   => ["$ENV{HOME}/.profile"],
                     ]

��������壔����������℡札筝���勉�������� HTTP::Request ��ŝ����吾�с�壔�����篏���������障�� (�����⓾�潟����ŝ�� ~/.profile ��勌賢荳˨�奝����c�⓾�������������с��������):

POST http://www.perl.org/survey.cgi
Content-Length: 388
Content-Type: multipart/form-data; boundary="6G+f"

--6G+f
Content-Disposition: form-data; name="name"

Gisle Aas
--6G+f
Content-Disposition: form-data; name="email"

gisle@aas.no
--6G+f
Content-Disposition: form-data; name="gender"

M
--6G+f
Content-Disposition: form-data; name="born"

1964
--6G+f
Content-Disposition: form-data; name="init"; filename=".profile"
Content-Type: text/plain

PATH=/local/perl/bin:$PATH
export PATH

--6G+f--

(�����壔�鴻����若���櫝�純��) $DYNAMIC_FILE 紊���違�������勐�ゃ�̬┃絎������������� content 絮���с�������⓾�泣����˨�若����潟�壔�㏍�若�吾�c�с�ŝ�壔����鴻����ŝ����吾�с�壔����� ���緇������障����� �����勉�泣����˨�若����潟�壠�巡擦��勉�ŝ����勉����鴻�⓾�勉����<�ゃ�˨�勐��絎鴻��茯㏍�帥����帥����������� ��ï����ŝ����c�潟�壔�˨�������☀�������障����� ��������˨�����紊ч����勉�<�≪�ŝ��篏帥�������˩算�����勐ぇ�����ŝ����<�ゃ�˨�� ��≪�������㏍�若�������������������с����障����� ��������帥�с�������� /dev/audio ��勉�������ɾ�♂��紊с�勉����<�ゃ�˨�� ��≪�������㏍�若���������������������櫝�純�с��; �����������������<�ゃ�˨����勰����勉����<�ゃ�˨�с�ŝ����翫����� ��ŝ�壔����鴻����勉��������絎�臂í�������� Content-Length ��������������������障�������� �����鴻�⓾�勉�泣�若��(��障����壔�泣�若����≪����ŝ�宴�若�激�с��)��� �����勉�������с����������������������с�壔�������障�������� ��障�����Content-Length ���荐�膊���������������鴻�����緇���勉����c�潟�壔�������������c�������鴻� �����<�ゃ�˨�泣�ゃ�冴����違�ŝ����翫�������泣����˨�若����潟�� Croak �����障�����

"LWP::UserAgent" ��� post(...) ��<�純�������� $ua->request(POST ...) ��吾� ��激�с�若����˨�������������☗����������⓾����障�����

SEE ALSO

HTTP::Request, LWP::UserAgent

COPYRIGHT

Copyright 1997-2004, Gisle Aas

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.