1Mojo::URL(3) User Contributed Perl Documentation Mojo::URL(3)
2
3
4
6 Mojo::URL - Uniform Resource Locator
7
9 use Mojo::URL;
10
11 # Parse
12 my $url = Mojo::URL->new(
13 'http://sri:foobar@kraih.com:3000/foo/bar?foo=bar#23'
14 );
15 print $url->scheme;
16 print $url->userinfo;
17 print $url->host;
18 print $url->port;
19 print $url->path;
20 print $url->query;
21 print $url->fragment;
22
23 # Build
24 my $url = Mojo::URL->new;
25 $url->scheme('http');
26 $url->userinfo('sri:foobar');
27 $url->host('kraih.com');
28 $url->port(3000);
29 $url->path('/foo/bar');
30 $url->path('baz');
31 $url->query->param(foo => 'bar');
32 $url->fragment(23);
33 print "$url";
34
36 Mojo::URL implements a subset of RFC 3986 and RFC 3987 for Uniform
37 Resource Locators with support for IDNA and IRIs.
38
40 Mojo::URL implements the following attributes.
41
42 "authority"
43 my $authority = $url->autority;
44 $url = $url->authority('root:pass%3Bw0rd@localhost:8080');
45
46 Authority part of this URL.
47
48 "base"
49 my $base = $url->base;
50 $url = $url->base(Mojo::URL->new);
51
52 Base of this URL.
53
54 "fragment"
55 my $fragment = $url->fragment;
56 $url = $url->fragment('foo');
57
58 Fragment part of this URL.
59
60 "host"
61 my $host = $url->host;
62 $url = $url->host('127.0.0.1');
63
64 Host part of this URL.
65
66 "port"
67 my $port = $url->port;
68 $url = $url->port(8080);
69
70 Port part of this URL.
71
72 "scheme"
73 my $scheme = $url->scheme;
74 $url = $url->scheme('http');
75
76 Scheme part of this URL.
77
78 "userinfo"
79 my $userinfo = $url->userinfo;
80 $url = $url->userinfo('root:pass%3Bw0rd');
81
82 Userinfo part of this URL.
83
85 Mojo::URL inherits all methods from Mojo::Base and implements the
86 following new ones.
87
88 "new"
89 my $url = Mojo::URL->new;
90 my $url = Mojo::URL->new('http://127.0.0.1:3000/foo?f=b&baz=2#foo');
91
92 Construct a new Mojo::URL object.
93
94 "clone"
95 my $url2 = $url->clone;
96
97 Clone this URL.
98
99 "ihost"
100 my $ihost = $url->ihost;
101 $url = $url->ihost('xn--bcher-kva.ch');
102
103 Host part of this URL in punycode format.
104
105 "is_abs"
106 my $is_abs = $url->is_abs;
107
108 Check if URL is absolute.
109
110 "parse"
111 $url = $url->parse('http://127.0.0.1:3000/foo/bar?fo=o&baz=23#foo');
112
113 Parse URL.
114
115 "path"
116 my $path = $url->path;
117 $url = $url->path('/foo/bar');
118 $url = $url->path('foo/bar');
119 $url = $url->path(Mojo::Path->new);
120
121 Path part of this URL, relative paths will be appended to the existing
122 path, defaults to a Mojo::Path object.
123
124 "query"
125 my $query = $url->query;
126 $url = $url->query(name => 'value');
127 $url = $url->query([name => 'value']);
128 $url = $url->query(Mojo::Parameters->new);
129
130 Query part of this URL, defaults to a Mojo::Parameters object.
131
132 "to_abs"
133 my $abs = $url->to_abs;
134 my $abs = $url->to_abs(Mojo::URL->new('http://kraih.com/foo'));
135
136 Turn relative URL into an absolute one.
137
138 "to_rel"
139 my $rel = $url->to_rel;
140 my $rel = $url->to_rel(Mojo::URL->new('http://kraih.com/foo'));
141
142 Turn absolute URL into a relative one.
143
144 "to_string"
145 my $string = $url->to_string;
146
147 Turn URL into a string.
148
150 Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.
151
152
153
154perl v5.12.3 2010-08-12 Mojo::URL(3)