mirror of
https://github.com/python/cpython.git
synced 2025-11-27 05:44:16 +00:00
Bug #947571: By default, urllib.urlopen() does not raise IOErrors
on server error codes. Make this clear.
This commit is contained in:
parent
a223d2cb29
commit
124a4e58c4
1 changed files with 8 additions and 1 deletions
|
|
@ -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
|
not have a scheme identifier, or if it has \file{file:} as its scheme
|
||||||
identifier, this opens a local file (without universal newlines);
|
identifier, this opens a local file (without universal newlines);
|
||||||
otherwise it opens a socket to a server somewhere on the network. If
|
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
|
the \exception{IOError} exception is raised. If all went well, a
|
||||||
file-like object is returned. This supports the following methods:
|
file-like object is returned. This supports the following methods:
|
||||||
\method{read()}, \method{readline()}, \method{readlines()}, \method{fileno()},
|
\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
|
authentication with the \file{https:} scheme. The keywords
|
||||||
\var{key_file} and \var{cert_file} are supported; both are needed to
|
\var{key_file} and \var{cert_file} are supported; both are needed to
|
||||||
actually retrieve a resource at an \file{https:} URL.
|
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}
|
\end{classdesc}
|
||||||
|
|
||||||
\begin{classdesc}{FancyURLopener}{...}
|
\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
|
performed. For the 30x response codes, recursion is bounded by the
|
||||||
value of the \var{maxtries} attribute, which defaults to 10.
|
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
|
\note{According to the letter of \rfc{2616}, 301 and 302 responses to
|
||||||
POST requests must not be automatically redirected without
|
POST requests must not be automatically redirected without
|
||||||
confirmation by the user. In reality, browsers do allow automatic
|
confirmation by the user. In reality, browsers do allow automatic
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue