Mercurial > cpython-lru_cache-weakref
annotate Doc/lib/liburlparse.tex @ 38664:7619216bbc19 2.4
Bug #1502728: Correctly link against librt library on HP-UX.
(backport from rev. 46743)
| author | Georg Brandl <georg@python.org> |
|---|---|
| date | Thu, 08 Jun 2006 12:54:16 +0000 |
| parents | ba160464a8c6 |
| children |
| rev | line source |
|---|---|
| 8918 | 1 \section{\module{urlparse} --- |
|
14185
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
2 Parse URLs into components} |
|
8716
760dcf197048
Adjusted to use the new module synopsis support macros.
Fred Drake <fdrake@acm.org>
parents:
7877
diff
changeset
|
3 \declaremodule{standard}{urlparse} |
|
760dcf197048
Adjusted to use the new module synopsis support macros.
Fred Drake <fdrake@acm.org>
parents:
7877
diff
changeset
|
4 |
| 8855 | 5 \modulesynopsis{Parse URLs into components.} |
|
8716
760dcf197048
Adjusted to use the new module synopsis support macros.
Fred Drake <fdrake@acm.org>
parents:
7877
diff
changeset
|
6 |
| 2449 | 7 \index{WWW} |
|
18574
346dcafc878b
Minor changes to match the style guide.
Fred Drake <fdrake@acm.org>
parents:
14185
diff
changeset
|
8 \index{World Wide Web} |
| 2449 | 9 \index{URL} |
| 10 \indexii{URL}{parsing} | |
| 11 \indexii{relative}{URL} | |
| 12 | |
|
2453
cdd3a721b40e
a few typographical changes (e.g. -- => ---) and lots of new stuff in the WWW chapter
Guido van Rossum <guido@python.org>
parents:
2449
diff
changeset
|
13 |
|
14185
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
14 This module defines a standard interface to break Uniform Resource |
|
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
15 Locator (URL) strings up in components (addressing scheme, network |
|
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
16 location, path etc.), to combine the components back into a URL |
|
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
17 string, and to convert a ``relative URL'' to an absolute URL given a |
|
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
18 ``base URL.'' |
| 2449 | 19 |
|
7144
4ef6a83b2e62
Update comment about relative URL internet draft to reflect current RFC status;
Fred Drake <fdrake@acm.org>
parents:
6963
diff
changeset
|
20 The module has been designed to match the Internet RFC on Relative |
|
4ef6a83b2e62
Update comment about relative URL internet draft to reflect current RFC status;
Fred Drake <fdrake@acm.org>
parents:
6963
diff
changeset
|
21 Uniform Resource Locators (and discovered a bug in an earlier |
|
36355
ba160464a8c6
Document supported schemes.
Georg Brandl <georg@python.org>
parents:
35490
diff
changeset
|
22 draft!). It supports the following URL schemes: |
|
ba160464a8c6
Document supported schemes.
Georg Brandl <georg@python.org>
parents:
35490
diff
changeset
|
23 \code{file}, \code{ftp}, \code{gopher}, \code{hdl}, \code{http}, |
|
ba160464a8c6
Document supported schemes.
Georg Brandl <georg@python.org>
parents:
35490
diff
changeset
|
24 \code{https}, \code{imap}, \code{mailto}, \code{mms}, \code{news}, |
|
ba160464a8c6
Document supported schemes.
Georg Brandl <georg@python.org>
parents:
35490
diff
changeset
|
25 \code{nntp}, \code{prospero}, \code{rsync}, \code{rtsp}, \code{rtspu}, |
|
ba160464a8c6
Document supported schemes.
Georg Brandl <georg@python.org>
parents:
35490
diff
changeset
|
26 \code{shttp}, \code{sip}, \code{snews}, \code{svn}, \code{svn+ssh}, |
|
ba160464a8c6
Document supported schemes.
Georg Brandl <georg@python.org>
parents:
35490
diff
changeset
|
27 \code{telnet}, \code{wais}. |
| 2449 | 28 |
|
36355
ba160464a8c6
Document supported schemes.
Georg Brandl <georg@python.org>
parents:
35490
diff
changeset
|
29 The \module{urlparse} module defines the following functions: |
| 2449 | 30 |
|
6963
10f2921a091e
Reduce warning count from partparse.py.
Fred Drake <fdrake@acm.org>
parents:
5818
diff
changeset
|
31 \begin{funcdesc}{urlparse}{urlstring\optional{, default_scheme\optional{, allow_fragments}}} |
| 2449 | 32 Parse a URL into 6 components, returning a 6-tuple: (addressing |
| 33 scheme, network location, path, parameters, query, fragment | |
| 34 identifier). This corresponds to the general structure of a URL: | |
| 35 \code{\var{scheme}://\var{netloc}/\var{path};\var{parameters}?\var{query}\#\var{fragment}}. | |
| 36 Each tuple item is a string, possibly empty. | |
| 37 The components are not broken up in smaller parts (e.g. the network | |
| 38 location is a single string), and \% escapes are not expanded. | |
|
2576
f47bc5554418
mass changes; fix titles; add examples; correct typos; clarifications;
Guido van Rossum <guido@python.org>
parents:
2453
diff
changeset
|
39 The delimiters as shown above are not part of the tuple items, |
|
f47bc5554418
mass changes; fix titles; add examples; correct typos; clarifications;
Guido van Rossum <guido@python.org>
parents:
2453
diff
changeset
|
40 except for a leading slash in the \var{path} component, which is |
|
f47bc5554418
mass changes; fix titles; add examples; correct typos; clarifications;
Guido van Rossum <guido@python.org>
parents:
2453
diff
changeset
|
41 retained if present. |
| 2449 | 42 |
| 43 Example: | |
|
2647
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
44 |
|
7277
bf4e790bd61a
Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents:
7219
diff
changeset
|
45 \begin{verbatim} |
|
2647
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
46 urlparse('http://www.cwi.nl:80/%7Eguido/Python.html') |
|
7277
bf4e790bd61a
Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents:
7219
diff
changeset
|
47 \end{verbatim} |
|
14153
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
48 |
| 2449 | 49 yields the tuple |
|
2647
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
50 |
|
7277
bf4e790bd61a
Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents:
7219
diff
changeset
|
51 \begin{verbatim} |
|
2647
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
52 ('http', 'www.cwi.nl:80', '/%7Eguido/Python.html', '', '', '') |
|
7277
bf4e790bd61a
Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents:
7219
diff
changeset
|
53 \end{verbatim} |
|
14153
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
54 |
| 2449 | 55 If the \var{default_scheme} argument is specified, it gives the |
| 56 default addressing scheme, to be used only if the URL string does not | |
| 57 specify one. The default value for this argument is the empty string. | |
| 58 | |
| 59 If the \var{allow_fragments} argument is zero, fragment identifiers | |
| 60 are not allowed, even if the URL's addressing scheme normally does | |
| 61 support them. The default value for this argument is \code{1}. | |
| 62 \end{funcdesc} | |
| 63 | |
| 64 \begin{funcdesc}{urlunparse}{tuple} | |
|
7144
4ef6a83b2e62
Update comment about relative URL internet draft to reflect current RFC status;
Fred Drake <fdrake@acm.org>
parents:
6963
diff
changeset
|
65 Construct a URL string from a tuple as returned by \code{urlparse()}. |
| 2449 | 66 This may result in a slightly different, but equivalent URL, if the |
| 67 URL that was parsed originally had redundant delimiters, e.g. a ? with | |
| 68 an empty query (the draft states that these are equivalent). | |
| 69 \end{funcdesc} | |
| 70 | |
|
20996
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
71 \begin{funcdesc}{urlsplit}{urlstring\optional{, |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
72 default_scheme\optional{, allow_fragments}}} |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
73 This is similar to \function{urlparse()}, but does not split the |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
74 params from the URL. This should generally be used instead of |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
75 \function{urlparse()} if the more recent URL syntax allowing |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
76 parameters to be applied to each segment of the \var{path} portion of |
| 35490 | 77 the URL (see \rfc{2396}) is wanted. A separate function is needed to |
| 78 separate the path segments and parameters. This function returns a | |
| 79 5-tuple: (addressing scheme, network location, path, query, fragment | |
|
20996
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
80 identifier). |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
81 \versionadded{2.2} |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
82 \end{funcdesc} |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
83 |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
84 \begin{funcdesc}{urlunsplit}{tuple} |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
85 Combine the elements of a tuple as returned by \function{urlsplit()} |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
86 into a complete URL as a string. |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
87 \versionadded{2.2} |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
88 \end{funcdesc} |
|
f0b575d6feaa
Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents:
18574
diff
changeset
|
89 |
|
7712
0cbc9df882b6
Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents:
7277
diff
changeset
|
90 \begin{funcdesc}{urljoin}{base, url\optional{, allow_fragments}} |
| 2449 | 91 Construct a full (``absolute'') URL by combining a ``base URL'' |
| 92 (\var{base}) with a ``relative URL'' (\var{url}). Informally, this | |
| 93 uses components of the base URL, in particular the addressing scheme, | |
| 94 the network location and (part of) the path, to provide missing | |
| 95 components in the relative URL. | |
| 96 | |
| 97 Example: | |
|
2647
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
98 |
|
7277
bf4e790bd61a
Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents:
7219
diff
changeset
|
99 \begin{verbatim} |
|
2647
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
100 urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') |
|
7277
bf4e790bd61a
Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents:
7219
diff
changeset
|
101 \end{verbatim} |
|
14153
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
102 |
|
2647
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
103 yields the string |
|
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
104 |
|
7277
bf4e790bd61a
Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents:
7219
diff
changeset
|
105 \begin{verbatim} |
|
2647
9b7e6d9a528d
typos, layout and other small things
Guido van Rossum <guido@python.org>
parents:
2576
diff
changeset
|
106 'http://www.cwi.nl/%7Eguido/FAQ.html' |
|
7277
bf4e790bd61a
Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents:
7219
diff
changeset
|
107 \end{verbatim} |
|
14185
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
108 |
| 2449 | 109 The \var{allow_fragments} argument has the same meaning as for |
|
7144
4ef6a83b2e62
Update comment about relative URL internet draft to reflect current RFC status;
Fred Drake <fdrake@acm.org>
parents:
6963
diff
changeset
|
110 \code{urlparse()}. |
| 2449 | 111 \end{funcdesc} |
|
14153
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
112 |
| 25815 | 113 \begin{funcdesc}{urldefrag}{url} |
| 114 If \var{url} contains a fragment identifier, returns a modified | |
| 115 version of \var{url} with no fragment identifier, and the fragment | |
| 116 identifier as a separate string. If there is no fragment identifier | |
| 117 in \var{url}, returns \var{url} unmodified and an empty string. | |
| 118 \end{funcdesc} | |
| 119 | |
|
14153
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
120 |
|
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
121 \begin{seealso} |
|
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
122 \seerfc{1738}{Uniform Resource Locators (URL)}{ |
|
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
123 This specifies the formal syntax and semantics of absolute |
|
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
124 URLs.} |
|
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
125 \seerfc{1808}{Relative Uniform Resource Locators}{ |
|
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
126 This Request For Comments includes the rules for joining an |
|
25822
032f196059aa
Typo(!): "normal" -> "number"
Fred Drake <fdrake@acm.org>
parents:
25815
diff
changeset
|
127 absolute and a relative URL, including a fair number of |
|
14153
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
128 ``Abnormal Examples'' which govern the treatment of border |
|
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
129 cases.} |
|
14185
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
130 \seerfc{2396}{Uniform Resource Identifiers (URI): Generic Syntax}{ |
|
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
131 Document describing the generic syntactic requirements for |
|
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
132 both Uniform Resource Names (URNs) and Uniform Resource |
|
93013e4bbe02
Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents:
14153
diff
changeset
|
133 Locators (URLs).} |
|
14153
40447b672064
Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents:
13625
diff
changeset
|
134 \end{seealso} |
