shell bypass 403

GrazzMean Shell

Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 3.128.29.93
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : Mojo::URL.3pm
.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "Mojo::URL 3"
.TH Mojo::URL 3 "2023-03-08" "perl v5.26.3" "User Contributed Perl Documentation"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
Mojo::URL \- Uniform Resource Locator
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\&  use Mojo::URL;
\&
\&  # Parse
\&  my $url = Mojo::URL\->new(\*(Aqhttp://sri:foo@example.com:3000/foo?foo=bar#23\*(Aq);
\&  say $url\->scheme;
\&  say $url\->userinfo;
\&  say $url\->host;
\&  say $url\->port;
\&  say $url\->path;
\&  say $url\->query;
\&  say $url\->fragment;
\&
\&  # Build
\&  my $url = Mojo::URL\->new;
\&  $url\->scheme(\*(Aqhttp\*(Aq);
\&  $url\->host(\*(Aqexample.com\*(Aq);
\&  $url\->port(3000);
\&  $url\->path(\*(Aq/foo/bar\*(Aq);
\&  $url\->query(foo => \*(Aqbar\*(Aq);
\&  $url\->fragment(23);
\&  say "$url";
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Mojo::URL implements a subset of \s-1RFC 3986\s0 <https://tools.ietf.org/html/rfc3986>, \s-1RFC
3987\s0 <https://tools.ietf.org/html/rfc3987> and the \s-1URL\s0 Living Standard <https://url.spec.whatwg.org> for Uniform
Resource Locators with support for \s-1IDNA\s0 and IRIs.
.SH "ATTRIBUTES"
.IX Header "ATTRIBUTES"
Mojo::URL implements the following attributes.
.SS "base"
.IX Subsection "base"
.Vb 2
\&  my $base = $url\->base;
\&  $url     = $url\->base(Mojo::URL\->new);
.Ve
.PP
Base of this \s-1URL,\s0 defaults to a Mojo::URL object.
.PP
.Vb 2
\&  "http://example.com/a/b?c"
\&  Mojo::URL\->new("/a/b?c")\->base(Mojo::URL\->new("http://example.com"))\->to_abs;
.Ve
.SS "fragment"
.IX Subsection "fragment"
.Vb 2
\&  my $fragment = $url\->fragment;
\&  $url         = $url\->fragment(\*(Aq♥mojolicious♥\*(Aq);
.Ve
.PP
Fragment part of this \s-1URL.\s0
.PP
.Vb 2
\&  # "yada"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/foo?bar=baz#yada\*(Aq)\->fragment;
.Ve
.SS "host"
.IX Subsection "host"
.Vb 2
\&  my $host = $url\->host;
\&  $url     = $url\->host(\*(Aq127.0.0.1\*(Aq);
.Ve
.PP
Host part of this \s-1URL.\s0
.PP
.Vb 2
\&  # "example.com"
\&  Mojo::URL\->new(\*(Aqhttp://sri:t3st@example.com:8080/foo\*(Aq)\->host;
.Ve
.SS "port"
.IX Subsection "port"
.Vb 2
\&  my $port = $url\->port;
\&  $url     = $url\->port(8080);
.Ve
.PP
Port part of this \s-1URL.\s0
.PP
.Vb 2
\&  # "8080"
\&  Mojo::URL\->new(\*(Aqhttp://sri:t3st@example.com:8080/foo\*(Aq)\->port;
.Ve
.SS "scheme"
.IX Subsection "scheme"
.Vb 2
\&  my $scheme = $url\->scheme;
\&  $url       = $url\->scheme(\*(Aqhttp\*(Aq);
.Ve
.PP
Scheme part of this \s-1URL.\s0
.PP
.Vb 2
\&  # "http"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/foo\*(Aq)\->scheme;
.Ve
.SS "userinfo"
.IX Subsection "userinfo"
.Vb 2
\&  my $info = $url\->userinfo;
\&  $url     = $url\->userinfo(\*(Aqroot:♥\*(Aq);
.Ve
.PP
Userinfo part of this \s-1URL.\s0
.PP
.Vb 2
\&  # "sri:t3st"
\&  Mojo::URL\->new(\*(Aqhttps://sri:t3st@example.com/foo\*(Aq)\->userinfo;
.Ve
.SH "METHODS"
.IX Header "METHODS"
Mojo::URL inherits all methods from Mojo::Base and implements the following new ones.
.SS "clone"
.IX Subsection "clone"
.Vb 1
\&  my $url2 = $url\->clone;
.Ve
.PP
Return a new Mojo::URL object cloned from this \s-1URL.\s0
.SS "host_port"
.IX Subsection "host_port"
.Vb 2
\&  my $host_port = $url\->host_port;
\&  $url          = $url\->host_port(\*(Aqexample.com:8080\*(Aq);
.Ve
.PP
Normalized version of \*(L"host\*(R" and \*(L"port\*(R".
.PP
.Vb 2
\&  # "xn\-\-n3h.net:8080"
\&  Mojo::URL\->new(\*(Aqhttp://☃.net:8080/test\*(Aq)\->host_port;
\&
\&  # "example.com"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/test\*(Aq)\->host_port;
.Ve
.SS "ihost"
.IX Subsection "ihost"
.Vb 2
\&  my $ihost = $url\->ihost;
\&  $url      = $url\->ihost(\*(Aqxn\-\-bcher\-kva.ch\*(Aq);
.Ve
.PP
Host part of this \s-1URL\s0 in punycode format.
.PP
.Vb 2
\&  # "xn\-\-n3h.net"
\&  Mojo::URL\->new(\*(Aqhttp://☃.net\*(Aq)\->ihost;
\&
\&  # "example.com"
\&  Mojo::URL\->new(\*(Aqhttp://example.com\*(Aq)\->ihost;
.Ve
.SS "is_abs"
.IX Subsection "is_abs"
.Vb 1
\&  my $bool = $url\->is_abs;
.Ve
.PP
Check if \s-1URL\s0 is absolute.
.PP
.Vb 3
\&  # True
\&  Mojo::URL\->new(\*(Aqhttp://example.com\*(Aq)\->is_abs;
\&  Mojo::URL\->new(\*(Aqhttp://example.com/test/index.html\*(Aq)\->is_abs;
\&
\&  # False
\&  Mojo::URL\->new(\*(Aqtest/index.html\*(Aq)\->is_abs;
\&  Mojo::URL\->new(\*(Aq/test/index.html\*(Aq)\->is_abs;
\&  Mojo::URL\->new(\*(Aq//example.com/test/index.html\*(Aq)\->is_abs;
.Ve
.SS "new"
.IX Subsection "new"
.Vb 2
\&  my $url = Mojo::URL\->new;
\&  my $url = Mojo::URL\->new(\*(Aqhttp://127.0.0.1:3000/foo?f=b&baz=2#foo\*(Aq);
.Ve
.PP
Construct a new Mojo::URL object and \*(L"parse\*(R" \s-1URL\s0 if necessary.
.SS "parse"
.IX Subsection "parse"
.Vb 1
\&  $url = $url\->parse(\*(Aqhttp://127.0.0.1:3000/foo/bar?fo=o&baz=23#foo\*(Aq);
.Ve
.PP
Parse relative or absolute \s-1URL.\s0
.PP
.Vb 2
\&  # "/test/123"
\&  $url\->parse(\*(Aq/test/123?foo=bar\*(Aq)\->path;
\&
\&  # "example.com"
\&  $url\->parse(\*(Aqhttp://example.com/test/123?foo=bar\*(Aq)\->host;
\&
\&  # "sri@example.com"
\&  $url\->parse(\*(Aqmailto:sri@example.com\*(Aq)\->path;
.Ve
.SS "password"
.IX Subsection "password"
.Vb 1
\&  my $password = $url\->password;
.Ve
.PP
Password part of \*(L"userinfo\*(R".
.PP
.Vb 2
\&  # "s3cret"
\&  Mojo::URL\->new(\*(Aqhttp://isabel:s3cret@mojolicious.org\*(Aq)\->password;
\&
\&  # "s:3:c:r:e:t"
\&  Mojo::URL\->new(\*(Aqhttp://isabel:s:3:c:r:e:t@mojolicious.org\*(Aq)\->password;
.Ve
.SS "path"
.IX Subsection "path"
.Vb 4
\&  my $path = $url\->path;
\&  $url     = $url\->path(\*(Aqfoo/bar\*(Aq);
\&  $url     = $url\->path(\*(Aq/foo/bar\*(Aq);
\&  $url     = $url\->path(Mojo::Path\->new);
.Ve
.PP
Path part of this \s-1URL,\s0 relative paths will be merged with \*(L"merge\*(R" in Mojo::Path, defaults to a Mojo::Path object.
.PP
.Vb 2
\&  # "test"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/test/Mojo\*(Aq)\->path\->parts\->[0];
\&
\&  # "/test/DOM/HTML"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/test/Mojo\*(Aq)\->path\->merge(\*(AqDOM/HTML\*(Aq);
\&
\&  # "http://example.com/DOM/HTML"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/test/Mojo\*(Aq)\->path(\*(Aq/DOM/HTML\*(Aq);
\&
\&  # "http://example.com/test/DOM/HTML"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/test/Mojo\*(Aq)\->path(\*(AqDOM/HTML\*(Aq);
\&
\&  # "http://example.com/test/Mojo/DOM/HTML"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/test/Mojo/\*(Aq)\->path(\*(AqDOM/HTML\*(Aq);
.Ve
.SS "path_query"
.IX Subsection "path_query"
.Vb 2
\&  my $path_query = $url\->path_query;
\&  $url           = $url\->path_query(\*(Aq/foo/bar?a=1&b=2\*(Aq);
.Ve
.PP
Normalized version of \*(L"path\*(R" and \*(L"query\*(R".
.PP
.Vb 2
\&  # "/test?a=1&b=2"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/test?a=1&b=2\*(Aq)\->path_query;
\&
\&  # "/"
\&  Mojo::URL\->new(\*(Aqhttp://example.com/\*(Aq)\->path_query;
.Ve
.SS "protocol"
.IX Subsection "protocol"
.Vb 1
\&  my $proto = $url\->protocol;
.Ve
.PP
Normalized version of \*(L"scheme\*(R".
.PP
.Vb 2
\&  # "http"
\&  Mojo::URL\->new(\*(AqHtTp://example.com\*(Aq)\->protocol;
.Ve
.SS "query"
.IX Subsection "query"
.Vb 6
\&  my $query = $url\->query;
\&  $url      = $url\->query({merge => \*(Aqto\*(Aq});
\&  $url      = $url\->query([append => \*(Aqwith\*(Aq]);
\&  $url      = $url\->query(replace => \*(Aqwith\*(Aq);
\&  $url      = $url\->query(\*(Aqa=1&b=2\*(Aq);
\&  $url      = $url\->query(Mojo::Parameters\->new);
.Ve
.PP
Query part of this \s-1URL,\s0 key/value pairs in an array reference will be appended with \*(L"append\*(R" in Mojo::Parameters, and
key/value pairs in a hash reference merged with \*(L"merge\*(R" in Mojo::Parameters, defaults to a Mojo::Parameters object.
.PP
.Vb 2
\&  # "2"
\&  Mojo::URL\->new(\*(Aqhttp://example.com?a=1&b=2\*(Aq)\->query\->param(\*(Aqb\*(Aq);
\&
\&  # "a=2&b=2&c=3"
\&  Mojo::URL\->new(\*(Aqhttp://example.com?a=1&b=2\*(Aq)\->query\->merge(a => 2, c => 3);
\&
\&  # "http://example.com?a=2&c=3"
\&  Mojo::URL\->new(\*(Aqhttp://example.com?a=1&b=2\*(Aq)\->query(a => 2, c => 3);
\&
\&  # "http://example.com?a=2&a=3"
\&  Mojo::URL\->new(\*(Aqhttp://example.com?a=1&b=2\*(Aq)\->query(a => [2, 3]);
\&
\&  # "http://example.com?a=2&b=2&c=3"
\&  Mojo::URL\->new(\*(Aqhttp://example.com?a=1&b=2\*(Aq)\->query({a => 2, c => 3});
\&
\&  # "http://example.com?b=2"
\&  Mojo::URL\->new(\*(Aqhttp://example.com?a=1&b=2\*(Aq)\->query({a => undef});
\&
\&  # "http://example.com?a=1&b=2&a=2&c=3"
\&  Mojo::URL\->new(\*(Aqhttp://example.com?a=1&b=2\*(Aq)\->query([a => 2, c => 3]);
.Ve
.SS "to_abs"
.IX Subsection "to_abs"
.Vb 2
\&  my $abs = $url\->to_abs;
\&  my $abs = $url\->to_abs(Mojo::URL\->new(\*(Aqhttp://example.com/foo\*(Aq));
.Ve
.PP
Return a new Mojo::URL object cloned from this relative \s-1URL\s0 and turn it into an absolute one using \*(L"base\*(R" or
provided base \s-1URL.\s0
.PP
.Vb 3
\&  # "http://example.com/foo/baz.xml?test=123"
\&  Mojo::URL\->new(\*(Aqbaz.xml?test=123\*(Aq)
\&    \->to_abs(Mojo::URL\->new(\*(Aqhttp://example.com/foo/bar.html\*(Aq));
\&
\&  # "http://example.com/baz.xml?test=123"
\&  Mojo::URL\->new(\*(Aq/baz.xml?test=123\*(Aq)
\&    \->to_abs(Mojo::URL\->new(\*(Aqhttp://example.com/foo/bar.html\*(Aq));
\&
\&  # "http://example.com/foo/baz.xml?test=123"
\&  Mojo::URL\->new(\*(Aq//example.com/foo/baz.xml?test=123\*(Aq)
\&    \->to_abs(Mojo::URL\->new(\*(Aqhttp://example.com/foo/bar.html\*(Aq));
.Ve
.SS "to_string"
.IX Subsection "to_string"
.Vb 1
\&  my $str = $url\->to_string;
.Ve
.PP
Turn \s-1URL\s0 into a string. Note that \*(L"userinfo\*(R" will not be included for security reasons.
.PP
.Vb 2
\&  # "http://mojolicious.org"
\&  Mojo::URL\->new\->scheme(\*(Aqhttp\*(Aq)\->host(\*(Aqmojolicious.org\*(Aq)\->to_string;
\&
\&  # "http://mojolicious.org"
\&  Mojo::URL\->new(\*(Aqhttp://daniel:s3cret@mojolicious.org\*(Aq)\->to_string;
.Ve
.SS "to_unsafe_string"
.IX Subsection "to_unsafe_string"
.Vb 1
\&  my $str = $url\->to_unsafe_string;
.Ve
.PP
Same as \*(L"to_string\*(R", but includes \*(L"userinfo\*(R".
.PP
.Vb 2
\&  # "http://daniel:s3cret@mojolicious.org"
\&  Mojo::URL\->new(\*(Aqhttp://daniel:s3cret@mojolicious.org\*(Aq)\->to_unsafe_string;
.Ve
.SS "username"
.IX Subsection "username"
.Vb 1
\&  my $username = $url\->username;
.Ve
.PP
Username part of \*(L"userinfo\*(R".
.PP
.Vb 2
\&  # "isabel"
\&  Mojo::URL\->new(\*(Aqhttp://isabel:s3cret@mojolicious.org\*(Aq)\->username;
.Ve
.SH "OPERATORS"
.IX Header "OPERATORS"
Mojo::URL overloads the following operators.
.SS "bool"
.IX Subsection "bool"
.Vb 1
\&  my $bool = !!$url;
.Ve
.PP
Always true.
.SS "stringify"
.IX Subsection "stringify"
.Vb 1
\&  my $str = "$url";
.Ve
.PP
Alias for \*(L"to_string\*(R".
.SH "SEE ALSO"
.IX Header "SEE ALSO"
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
© 2025 GrazzMean