Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python, mechanize, proper syntax for setting multiple headers?

I can't seem to find how to do this anywere, I am trying to set multiple headers with python's mechanize module, such as:

br.addheaders = [('user-agent', '   Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3')]
br.addheaders = [('accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')]

But it seems that it only takes the last br.addheaders.. so it only shows the 'accept' header, not the 'user-agent' header, which leads me to believe that each call to 'br.addheaders' overwrites any previous calls to this.. I can't figure the syntax to include 2 or more headers so I would greatly appreciate any help..

I am using this website to test headers output:

http://www.ericgiguere.com/tools/http-header-viewer.html

like image 319
Rick Avatar asked Aug 25 '10 09:08

Rick


1 Answers

According to http://wwwsearch.sourceforge.net/mechanize/doc.html#adding-headers, the syntax would be

br.addheaders = [('user-agent', '   Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100423 Ubuntu/10.04 (lucid) Firefox/3.6.3'),
('accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')]

That is, make a list of header tuples.

like image 93
Seth Difley Avatar answered Oct 31 '22 03:10

Seth Difley