summaryrefslogtreecommitdiffstats
path: root/Doc/lib
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2006-02-20 21:26:18 (GMT)
committerGeorg Brandl <georg@python.org>2006-02-20 21:26:18 (GMT)
commit124a4e58c497f6bfdb2e26465b8b3940393a3b29 (patch)
tree20c27329210eccf4019c63a9d1ed7bf19bde5aa5 /Doc/lib
parenta223d2cb29a27ea25632cfe695401a4ced96ca06 (diff)
downloadcpython-124a4e58c497f6bfdb2e26465b8b3940393a3b29.zip
cpython-124a4e58c497f6bfdb2e26465b8b3940393a3b29.tar.gz
cpython-124a4e58c497f6bfdb2e26465b8b3940393a3b29.tar.bz2
Bug #947571: By default, urllib.urlopen() does not raise IOErrors
on server error codes. Make this clear.
Diffstat (limited to 'Doc/lib')
-rw-r--r--Doc/lib/liburllib.tex9
1 files changed, 8 insertions, 1 deletions
diff --git a/Doc/lib/liburllib.tex b/Doc/lib/liburllib.tex
index 5e488c4..0a84c1a 100644
--- a/Doc/lib/liburllib.tex
+++ b/Doc/lib/liburllib.tex
@@ -23,7 +23,7 @@ Open a network object denoted by a URL for reading. If the URL does
not have a scheme identifier, or if it has \file{file:} as its scheme
identifier, this opens a local file (without universal newlines);
otherwise it opens a socket to a server somewhere on the network. If
-the connection cannot be made, or if the server returns an error code,
+the connection cannot be made
the \exception{IOError} exception is raised. If all went well, a
file-like object is returned. This supports the following methods:
\method{read()}, \method{readline()}, \method{readlines()}, \method{fileno()},
@@ -274,6 +274,9 @@ Additional keyword parameters, collected in \var{x509}, are used for
authentication with the \file{https:} scheme. The keywords
\var{key_file} and \var{cert_file} are supported; both are needed to
actually retrieve a resource at an \file{https:} URL.
+
+\class{URLopener} objects will raise an \exception{IOError} exception
+if the server returns an error code.
\end{classdesc}
\begin{classdesc}{FancyURLopener}{...}
@@ -285,6 +288,10 @@ response codes (authentication required), basic HTTP authentication is
performed. For the 30x response codes, recursion is bounded by the
value of the \var{maxtries} attribute, which defaults to 10.
+For all other response codes, the method \method{http_error_default()}
+is called which you can override in subclasses to handle the error
+appropriately.
+
\note{According to the letter of \rfc{2616}, 301 and 302 responses to
POST requests must not be automatically redirected without
confirmation by the user. In reality, browsers do allow automatic