[Web-SIG] [stdlib-sig] Choosing one of two options for url* in the stdlib reorg

M.-A. Lemburg mal at egenix.com
Mon Mar 3 13:44:55 CET 2008


On 2008-03-02 21:11, Brett Cannon wrote:
>>  > Well, look at the docs for urllib. There is a list of restrictions
>>  > (e.g., does not support the use of proxies which require
>>  > authentication). From what I can tell, those items on the list that
>>  > are an actual restriction do not carry over to urllib2.
>>
>>  I'm not sure I follow you: urllib *does* support proxies that
>>  require authentication (see the .open_http() method).
>>
> 
> According to http://docs.python.org/dev/library/urllib.html#module-urllib:
> 
> "This module does not support the use of proxies which require authentication".

Looks like the documentation is not up-to-date:

...
         if proxy_auth: h.putheader('Proxy-Authorization', 'Basic %s' % proxy_auth)
...

>>  > Another thing,
>>  > how do you add a custom line to the header for the request in urllib
>>  > (e.g., Referer)? The docs for URLOpener don't seem to provide a way.
>>  > urllib2, on the other hand, has a very specific way to add headers.
>>
>>  That's easy:
>>
>>  class URLReader(urllib.URLopener):
>>
>>     # Crawler name
>>     agentname = 'mxHTMLTools-Crawler'
>>
>>     def __init__(*args):
>>
>>         """ Add a user-agent header to the HTTP requests.
>>         """
>>         self = args[0]
>>         apply(urllib.URLopener.__init__, args)
>>         # Override the default settings for self.addheaders:
>>         assert len(self.addheaders) == 1
>>         self.addheaders = [
>>             ('user-agent', '%s/%s' % (self.agentname, HTMLTools.__version__)),
>>             ]
>>     ...
>>
> 
> But none of that is documented. So if the classes do stay then they
> really need to have their documentation flushed out (along with making
> sure they have the proper unit tests for those exposed APIs, of
> course).

Agreed.

>>  > But as I said in my last email, I am happy to include URLOpener if
>>  > some other people are willing to back the idea up.
>>
>>  Fair enough.
> 
> I will send a separate email to the SIG since people have probably
> stopped following most of this thread. =)

Please also CC the stdlib SIG again... that CC got lost somewhere
in the thread :-)

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Mar 03 2008)
 >>> Python/Zope Consulting and Support ...        http://www.egenix.com/
 >>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

:::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,MacOSX for free ! ::::


    eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
     D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
            Registered at Amtsgericht Duesseldorf: HRB 46611


More information about the Web-SIG mailing list