我正在尝试以编程方式将一些数据提交到表单。我有一个小问题,服务器“不喜欢”我发送的内容。令人沮丧的是,没有错误消息或任何可以帮助诊断问题的信息,它所做的只是让我回到我点击br.submit()
.
当我在浏览器中手动单击提交按钮时,结果页面显示一个小的“成功!” 信息。通过脚本提交时不会出现此类消息。此外,实际上并没有将更改发布到服务器。这很奇怪,我第一次遇到这种行为。
挖掘 Mechanize 文档,它表明在这些奇怪的、难以诊断的问题下,最好复制浏览器实际提交的请求标头。
我的问题是,当我打电话时如何查看请求标头是什么br.submit()
?
示例代码
location = 'http://ww.mysite.com'
br = mechanize.Browser()
cj = mechanize.LWPCookieJar()
br.set_cookiejar(cj)
username = MY_USER_NAME
password = MY_PASSWORD
br.addheaders.append(('Authorization', 'Basic %s' % base64.encodestring('%s:%s' % (username, password))))
br.open(location)
br.select_form(nr=0)
br['text'] = 'MY JUNK TO SUBMIT' #Text field. Can put anything
br['DropDown1'] = ['4'] #This is a dropdown of integer values
br['DropDown2'] = ['3'] #Also a dropdown of ints
br.submit()
提交表单时如何查看发送了哪些标题?