HTTP Header Capitalization in urllib.request.AbstractHTTPHandler (Python 3.3)

Logan logan at
Thu Nov 21 00:26:01 CET 2013

On 11/20/2013 02:05 AM, Chris Angelico wrote:
> On Wed, Nov 20, 2013 at 1:14 PM, Logan <logan at> wrote:
>> Chris,
>> That is genius.  Thank you!
> Then it works? Awesome!! (Permit me an evil laugh. Muahahahaaaa!)
> This is why I love working with open source languages. Even if you
> don't end up actually changing anything, you can go and snoop the code
> and see what happens - sometimes you can tweak your code based on that
> knowledge. And hey. This is duck typing at its best!
> ChrisA
Not exactly as written, but close enough to get me working.  At one 
point the following code is executed, turning the value into a string to 
be  "title"d next time it is called:

    name = name.title()

So, I worked around it with the following class, adapted from yours:

    class CaseSensitiveHeader(object):
         def __init__(self, name):
    = name

         def capitalize(self):
             return self

         def title(self):
             return self

         def lower(self):

         def encode(self, encoding):

With that, I am now able to post a case sensitive HTTP header.

-- Logan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list