[Python-checkins] r60520 - python/trunk/Doc/library/urllib2.rst
georg.brandl
python-checkins at python.org
Sat Feb 2 10:56:20 CET 2008
Author: georg.brandl
Date: Sat Feb 2 10:56:20 2008
New Revision: 60520
Modified:
python/trunk/Doc/library/urllib2.rst
Log:
Amendments to the urllib2 docs, written for GHOP by Thomas Lamb.
Modified: python/trunk/Doc/library/urllib2.rst
==============================================================================
--- python/trunk/Doc/library/urllib2.rst (original)
+++ python/trunk/Doc/library/urllib2.rst Sat Feb 2 10:56:20 2008
@@ -33,10 +33,12 @@
This function returns a file-like object with two additional methods:
- * :meth:`geturl` --- return the URL of the resource retrieved
+ * :meth:`geturl` --- return the URL of the resource retrieved, commonly used to
+ determine if a redirect was followed
- * :meth:`info` --- return the meta-information of the page, as a dictionary-like
- object
+ * :meth:`info` --- return the meta-information of the page, such as headers, in
+ the form of an ``httplib.HTTPMessage`` instance
+ (see `Quick Reference to HTTP Headers <http://www.cs.tut.fi/~jkorpela/http.html>`_)
Raises :exc:`URLError` on errors.
@@ -84,18 +86,32 @@
The handlers raise this exception (or derived exceptions) when they run into a
problem. It is a subclass of :exc:`IOError`.
+ .. attribute:: reason
+
+ The reason for this error. It can be a message string or another exception
+ instance (:exc:`socket.error` for remote URLs, :exc:`OSError` for local
+ URLs).
+
.. exception:: HTTPError
- A subclass of :exc:`URLError`, it can also function as a non-exceptional
- file-like return value (the same thing that :func:`urlopen` returns). This
- is useful when handling exotic HTTP errors, such as requests for
- authentication.
+ Though being an exception (a subclass of :exc:`URLError`), an :exc:`HTTPError`
+ can also function as a non-exceptional file-like return value (the same thing
+ that :func:`urlopen` returns). This is useful when handling exotic HTTP
+ errors, such as requests for authentication.
+
+ .. attribute:: code
+
+ An HTTP status code as defined in `RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html>`_.
+ This numeric value corresponds to a value found in the dictionary of
+ codes as found in :attr:`BaseHTTPServer.BaseHTTPRequestHandler.responses`.
+
+
The following classes are provided:
-.. class:: Request(url[, data][, headers] [, origin_req_host][, unverifiable])
+.. class:: Request(url[, data][, headers][, origin_req_host][, unverifiable])
This class is an abstraction of a URL request.
@@ -110,7 +126,12 @@
returns a string in this format.
*headers* should be a dictionary, and will be treated as if :meth:`add_header`
- was called with each key and value as arguments.
+ was called with each key and value as arguments. This is often used to "spoof"
+ the ``User-Agent`` header, which is used by a browser to identify itself --
+ some HTTP servers only allow requests coming from common browsers as opposed
+ to scripts. For example, Mozilla Firefox may identify itself as ``"Mozilla/5.0
+ (X11; U; Linux i686) Gecko/20071127 Firefox/2.0.0.11"``, while :mod:`urllib2`'s
+ default user agent string is ``"Python-urllib/2.6"`` (on Python 2.6).
The final two arguments are only of interest for correct handling of third-party
HTTP cookies:
More information about the Python-checkins
mailing list