Python Mechanize - как добавить заголовок на один вызов .open ()?

Я пытаюсь обойти определенную службу, не имеющую API, и решил попробовать Mechanize (я обычно использую urllib).

Как добавить конкретный заголовок для одногоopen вызов?

Или есть способ создать экземпляр запроса с его собственными заголовками, а затем иметь мойmechanize.Browser экземпляр справиться?

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'}))

Мой обходной путь - временно изменить список надстроек, но это ужасно!

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

Ответы на вопрос(2)

Ваш ответ на вопрос