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()