diff options
author | Georg Brandl <georg@python.org> | 2006-02-20 21:26:18 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2006-02-20 21:26:18 (GMT) |
commit | 124a4e58c497f6bfdb2e26465b8b3940393a3b29 (patch) | |
tree | 20c27329210eccf4019c63a9d1ed7bf19bde5aa5 /Doc/lib | |
parent | a223d2cb29a27ea25632cfe695401a4ced96ca06 (diff) | |
download | cpython-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.tex | 9 |
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 |