annotate Doc/lib/liburlparse.tex @ 24042:63fbbed10714 legacy-trunk

Simplify HTTPSConnection constructor. See discussion in SF bug 458463.
author Jeremy Hylton <jeremy@alum.mit.edu>
date Fri, 28 Jun 2002 23:38:14 +0000
parents f0b575d6feaa
children 4a92c7d9d415
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8918
acfffe14628e New section header style.
Fred Drake <fdrake@acm.org>
parents: 8855
diff changeset
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
354cd24e5dfe Shorten the module synopsis.
Fred Drake <fdrake@acm.org>
parents: 8716
diff changeset
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
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
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
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 \index{URL}
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 \indexii{URL}{parsing}
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
11 \indexii{relative}{URL}
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
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
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
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
14153
40447b672064 Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents: 13625
diff changeset
22 draft!).
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
23
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
24 It defines the following functions:
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
25
6963
10f2921a091e Reduce warning count from partparse.py.
Fred Drake <fdrake@acm.org>
parents: 5818
diff changeset
26 \begin{funcdesc}{urlparse}{urlstring\optional{, default_scheme\optional{, allow_fragments}}}
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
27 Parse a URL into 6 components, returning a 6-tuple: (addressing
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
28 scheme, network location, path, parameters, query, fragment
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
29 identifier). This corresponds to the general structure of a URL:
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
30 \code{\var{scheme}://\var{netloc}/\var{path};\var{parameters}?\var{query}\#\var{fragment}}.
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
31 Each tuple item is a string, possibly empty.
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
32 The components are not broken up in smaller parts (e.g. the network
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
33 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
34 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
35 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
36 retained if present.
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
37
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
38 Example:
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
39
7277
bf4e790bd61a Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents: 7219
diff changeset
40 \begin{verbatim}
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
41 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
42 \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
43
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
44 yields the tuple
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
45
7277
bf4e790bd61a Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents: 7219
diff changeset
46 \begin{verbatim}
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
47 ('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
48 \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
49
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
50 If the \var{default_scheme} argument is specified, it gives the
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
51 default addressing scheme, to be used only if the URL string does not
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
52 specify one. The default value for this argument is the empty string.
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
53
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
54 If the \var{allow_fragments} argument is zero, fragment identifiers
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
55 are not allowed, even if the URL's addressing scheme normally does
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
56 support them. The default value for this argument is \code{1}.
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
57 \end{funcdesc}
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
58
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
59 \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
60 Construct a URL string from a tuple as returned by \code{urlparse()}.
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
61 This may result in a slightly different, but equivalent URL, if the
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
62 URL that was parsed originally had redundant delimiters, e.g. a ? with
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
63 an empty query (the draft states that these are equivalent).
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
64 \end{funcdesc}
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
65
20996
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
66 \begin{funcdesc}{urlsplit}{urlstring\optional{,
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
67 default_scheme\optional{, allow_fragments}}}
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
68 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
69 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
70 \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
71 parameters to be applied to each segment of the \var{path} portion of
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
72 the URL (see \rfc{2396}). A separate function is needed to separate
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
73 the path segments and parameters. This function returns a 5-tuple:
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
74 (addressing scheme, network location, path, query, fragment
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
75 identifier).
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
76 \versionadded{2.2}
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
77 \end{funcdesc}
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
78
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
79 \begin{funcdesc}{urlunsplit}{tuple}
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
80 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
81 into a complete URL as a string.
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
82 \versionadded{2.2}
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
83 \end{funcdesc}
f0b575d6feaa Document the urlsplit() and urlunsplit() functions.
Fred Drake <fdrake@acm.org>
parents: 18574
diff changeset
84
7712
0cbc9df882b6 Change "\," to just "," in function signatures. This is easier to maintain,
Fred Drake <fdrake@acm.org>
parents: 7277
diff changeset
85 \begin{funcdesc}{urljoin}{base, url\optional{, allow_fragments}}
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
86 Construct a full (``absolute'') URL by combining a ``base URL''
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
87 (\var{base}) with a ``relative URL'' (\var{url}). Informally, this
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
88 uses components of the base URL, in particular the addressing scheme,
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
89 the network location and (part of) the path, to provide missing
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
90 components in the relative URL.
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
91
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
92 Example:
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
93
7277
bf4e790bd61a Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents: 7219
diff changeset
94 \begin{verbatim}
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
95 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
96 \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
97
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
98 yields the string
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
99
7277
bf4e790bd61a Remove all \bcode / \ecode cruft; this is no longer needed. See previous
Fred Drake <fdrake@acm.org>
parents: 7219
diff changeset
100 \begin{verbatim}
2647
9b7e6d9a528d typos, layout and other small things
Guido van Rossum <guido@python.org>
parents: 2576
diff changeset
101 '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
102 \end{verbatim}
14185
93013e4bbe02 Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents: 14153
diff changeset
103
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
104 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
105 \code{urlparse()}.
2449
8eeecd233d56 added WWW sections
Guido van Rossum <guido@python.org>
parents:
diff changeset
106 \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
107
40447b672064 Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents: 13625
diff changeset
108
40447b672064 Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents: 13625
diff changeset
109 \begin{seealso}
40447b672064 Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents: 13625
diff changeset
110 \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
111 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
112 URLs.}
40447b672064 Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents: 13625
diff changeset
113 \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
114 This Request For Comments includes the rules for joining an
40447b672064 Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents: 13625
diff changeset
115 absolute and a relative URL, including a fair normal of
40447b672064 Move references to RFCs to a "See also" section for consistency with
Fred Drake <fdrake@acm.org>
parents: 13625
diff changeset
116 ``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
117 cases.}
14185
93013e4bbe02 Add reference to RFC 2396 in "See also" section.
Fred Drake <fdrake@acm.org>
parents: 14153
diff changeset
118 \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
119 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
120 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
121 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
122 \end{seealso}