Commit 124a4e58 authored by Georg Brandl's avatar Georg Brandl

Bug #947571: By default, urllib.urlopen() does not raise IOErrors

on server error codes. Make this clear.
parent a223d2cb
......@@ -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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment