Mecanizar Python - como adicionar um cabeçalho em uma única chamada .open ()?

Eu estou tentando contornar um determinado serviço não ter uma API e decidi tentar Mechanize (eu normalmente uso urllib).

Como faço para adicionar um cabeçalho específico para umopen ligar?

Ou existe uma maneira de construir uma instância de Solicitação com seus próprios cabeçalhos e, em seguida,mechanize.Browser exemplo lidar com isso?

browser = mechanize.Browser()
headers = [
    ('Accept', 'text/javascript, text/html, application/xml, text/xml, */*'),
    ('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8'),
    ('User-Agent', 'Foobar'),
]

browser.addheaders = headers
# log in, do stuff, etc.

# here, for this one browser request, I need to add an AJAX header
browser.open('/a_url_to_ajax_post/', urllib.urlencode({'foo': 'bar'}))

Minha solução alternativa é modificar temporariamente a lista de usuários adicionais, mas wow que é feio!

browser.addheaders.append(AJAX_HEADER)
browser.open('/admin/discounts', urllib.urlencode(pulled_params))
browser.addheaders.pop()

questionAnswers(2)

yourAnswerToTheQuestion