urllib (version 1.12)
index
/usr/lib/python1.6/urllib.py

Open an arbitrary URL.
 
See the following document for more info on URLs:
"Names and Addresses, URIs, URLs, URNs, URCs", at
http://www.w3.org/pub/WWW/Addressing/Overview.html
 
See also the HTTP spec (from which the error codes are derived):
"HTTP - Hypertext Transfer Protocol", at
http://www.w3.org/pub/WWW/Protocols/
 
Related standards and specs:
RFC1808: the "relative URL" spec. (authoritative status)
RFC1738 - the "URL standard". (authoritative status)
RFC1630 - the "URI spec". (informational status)
 
The object returned by URLopener().open(file) will differ per
protocol.  All you know is that is has methods read(), readline(),
readlines(), fileno(), close() and info().  The read*(), fileno()
and close() methods work like those of open files. 
The info() method returns a mimetools.Message object which can be
used to query various info about the object, if available.
(mimetools.Message objects are queried with the getheader() method.)

 
Modules
            
os
socket
string
sys

 
Classes
            
URLopener
FancyURLopener
addbase
addclosehook
addinfo
addinfourl
ftpwrapper

 
class FancyURLopener(URLopener)
      Derived class with handlers for errors we can handle (perhaps).
 
  
__del__(self) from URLopener
__init__(self, *args)
addheader(self, *args) from URLopener
cleanup(self) from URLopener
close(self) from URLopener
get_user_passwd(self, host, realm, clear_cache=0)
http_error(self, url, fp, errcode, errmsg, headers, data=None) from URLopener
http_error_301(self, url, fp, errcode, errmsg, headers, data=None)
Error 301 -- also relocated (permanently).
http_error_302(self, url, fp, errcode, errmsg, headers, data=None)
Error 302 -- relocated (temporarily).
http_error_401(self, url, fp, errcode, errmsg, headers, data=None)
Error 401 -- authentication required.
See this URL for a description of the basic authentication scheme:
http://www.ics.uci.edu/pub/ietf/http/draft-ietf-http-v10-spec-00.txt
http_error_default(self, url, fp, errcode, errmsg, headers)
Default error handling -- don't raise an exception.
open(self, fullurl, data=None) from URLopener
open_data(self, url, data=None) from URLopener
open_file(self, url) from URLopener
open_ftp(self, url) from URLopener
open_gopher(self, url) from URLopener
open_http(self, url, data=None) from URLopener
open_local_file(self, url) from URLopener
open_unknown(self, fullurl, data=None) from URLopener
prompt_user_passwd(self, host, realm)
Override this in a GUI environment!
retrieve(self, url, filename=None, reporthook=None) from URLopener
retry_http_basic_auth(self, url, realm, data=None)
retry_https_basic_auth(self, url, realm, data=None)

 
class URLopener
      Class to open URLs.
This is a class rather than just a subroutine because we may need
more than one set of global protocol-specific options.
Note -- this is a base class for those who don't want the
automatic handling of errors type 302 (relocated) and 401
(authorization needed).
 
  
__del__(self)
__init__(self, proxies=None, **x509)
# Constructor
addheader(self, *args)
Add a header to be used by the HTTP interface only
e.g. u.addheader('Accept', 'sound/basic')
cleanup(self)
close(self)
http_error(self, url, fp, errcode, errmsg, headers, data=None)
Handle http errors.
Derived class can override this, or provide specific handlers
named http_error_DDD where DDD is the 3-digit error code.
http_error_default(self, url, fp, errcode, errmsg, headers)
Default error handler: close the connection and raise IOError.
open(self, fullurl, data=None)
Use URLopener().open(file) instead of open(file, 'r').
open_data(self, url, data=None)
Use "data" URL.
open_file(self, url)
Use local file or FTP depending on form of URL.
open_ftp(self, url)
Use FTP protocol.
open_gopher(self, url)
Use Gopher protocol.
open_http(self, url, data=None)
Use HTTP protocol.
open_local_file(self, url)
Use local file.
open_unknown(self, fullurl, data=None)
Overridable interface to open unknown URL type.
retrieve(self, url, filename=None, reporthook=None)
retrieve(url) returns (filename, None) for a local object
or (tempfilename, headers) for a remote object.

 
class addbase
      Base class for addinfo and addclosehook.
 
  
__init__(self, fp)
__repr__(self)
close(self)

 
class addclosehook(addbase)
      Class to add a close hook to an open file.
 
  
__init__(self, fp, closehook, *hookargs)
__repr__(self) from addbase
close(self)

 
class addinfo(addbase)
      class to add an info() method to an open file.
 
  
__init__(self, fp, headers)
__repr__(self) from addbase
close(self) from addbase
info(self)

 
class addinfourl(addbase)
      class to add info() and geturl() methods to an open file.
 
  
__init__(self, fp, headers, url)
__repr__(self) from addbase
close(self) from addbase
geturl(self)
info(self)

 
class ftpwrapper
      Class used by open_ftp() for cache of open FTP connections.
 
  
__init__(self, user, passwd, host, port, dirs)
close(self)
endtransfer(self)
init(self)
retrfile(self, file, type)

 
Functions
            
basejoin(base, url)
Utility to combine a URL with a base URL to form a new URL.
ftperrors()
Return the set of errors raised by the FTP class.
getproxies()
Return a dictionary of scheme -> proxy server URL mappings.
 
Scan the environment for variables named <scheme>_proxy;
this seems to be the standard convention.  If you need a
different way, you can pass a proxies dictionary to the
[Fancy]URLopener constructor.
localhost()
Return the IP address of the magic hostname 'localhost'.
main()
noheaders()
Return an empty mimetools.Message object.
pathname2url(pathname)
quote(s, safe='/')
quote('abc def') -> 'abc%20def').
quote_plus(s, safe='/')
reporthook(blocknum, blocksize, totalsize)
splitattr(url)
splitattr('/path;attr1=value1;attr2=value2;...') ->
'/path', ['attr1=value1', 'attr2=value2', ...].
splitgophertype(selector)
splitgophertype('/Xselector') --> 'X', 'selector'.
splithost(url)
splithost('//host[:port]/path') --> 'host[:port]', '/path'.
splitnport(host, defport=-1)
Split host and port, returning numeric port.
Return given default port if no ':' found; defaults to -1.
Return numerical port if a valid number are found after ':'.
Return None if ':' but not a valid number.
splitpasswd(user)
splitpasswd('user:passwd') -> 'user', 'passwd'.
splitport(host)
splitport('host:port') --> 'host', 'port'.
splitquery(url)
splitquery('/path?query') --> '/path', 'query'.
splittag(url)
splittag('/path#tag') --> '/path', 'tag'.
splittype(url)
splittype('type:opaquestring') --> 'type', 'opaquestring'.
splituser(host)
splituser('user[:passwd]@host[:port]') --> 'user[:passwd]', 'host[:port]'.
splitvalue(attr)
splitvalue('attr=value') --> 'attr', 'value'.
test(args=[])
# Test program
test1()
# Test and time quote() and unquote()
thishost()
Return the IP address of the current host.
unquote(s)
unquote('abc%20def') -> 'abc def'.
unquote_plus(s)
unwrap(url)
unwrap('<URL:type://host/path>') --> 'type://host/path'.
url2pathname(pathname)
urlcleanup()
urlencode(dict)
Encode a dictionary of form entries into a URL query string.
urlopen(url, data=None)
urlretrieve(url, filename=None, reporthook=None)

 
Data
             MAXFTPCACHE = 10
__file__ = '/usr/lib/python1.6/urllib.pyc'
__name__ = 'urllib'
__version__ = '1.12'
_ftperrors = None
_hostprog = None
_localhost = None
_noheaders = None
_nportprog = None
_passwdprog = None
_portprog = None
_queryprog = None
_tagprog = None
_thishost = None
_typeprog = None
_urlopener = None
_userprog = None
_valueprog = None
always_safe = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_,.-'
ftpcache = {}