1.5 KiB
1.5 KiB
Http Client
#!/usr/bin/perl
use warnings;
use strict;
use URI::URL;
use HTTP::Headers;
use HTTP::Request;
use LWP::UserAgent;
my $url = new URI::URL('https://www.example.com');
my $headers = new HTTP::Headers(
'Accept' => 'text/html',
'User-Agent' => 'Elex/1.0'
);
my $request = new HTTP::Request('GET', $url, $headers);
my $user_agent = new LWP::UserAgent;
my $response = $user_agent->request($request);
if ($response->is_success) {
print $response->content;
} else {
print $response->message;
}
LWP::UserAgent
my $user_agent = new LWP::UserAgent;
-
request
-
credentials
-
get_basic_credentials
-
timeout
HTTP::Request
my $request = new HTTP::Request($method, $url, $headers, $content);
-
method : GET, POST 등
-
url : 문자열 또는
URI::URL객체 -
headers :
HTTP::Headers객체 -
content : 요청 바디
HTTP::Response
my $response = $user_agent->request($request);
서버 측에서 응답을 생성하려는 경우에는
my $response = HTTP::Response->new($status_code, $msg, $header, $content);
-
code
-
message
-
is_success
HTTP::Headers
my $headers = new HTTP::Headers(
'name' => 'value', ...
);
-
push_header
-
remove_header
HTTP::Status
-
is_info
-
is_success
-
is_redirect
-
is_client_error
-
is_server_error
-
is_error
URI::URL
my $url = new URI::URL($url);
-
scheme
-
host
-
port
-
path
-
query
-
user
-
password
URI::Escape
-
uri_escape
-
uri_unescape