2012-06-15 34 views
0

我使用要求(由丹尼尔·罗斯曼为劝)上发布一个WebForm:发布webform后,如何从结果页面获取值?

url = "http://mascot.proteomics.dundee.ac.uk/cgi/search_form.pl?FORMVER=2&SEARCH=MIS" 
data = {'SEARCH':'MIS'} 
files = {'JG-C1-1A.mgf' : open('/homes/ndeklein/Cantrell/JG-C1-1.mgf','rb')} print 
当我打印 r.okr.request

我得到200 OK,所以POST工作。当我打印r.content时,我没有得到结果页面,而是提交表单的页面的html。当我从数据中删除{'SEARCH':'MIS'}r.content返回一个缺少搜索类型的html错误页面,所以我知道如果在帖子中出现错误,我会得到一个错误。

那么我怎样才能得到结果页?

回答

1

老实说,没有理由使用httplib。这是一个低级别的界面,对于你想要做的事情来说是不必要的复杂。至少,使用urllib2,它将遵循任何重定向。但可能你最好的选择是使用third-party requests module,这使得这一切变得更容易。

+0

我可以找到上传多部分/表单数据文件的所有问题都使用http://code.activestate.com/recipes/146306/fa作为答案,但使用httplib。你知道在哪里可以使用urllib找到多语言/表单数据吗?我正在使用python 2.6 AFAIK请求是针对python 3(他们删除了python 2.5支持) –

+0

呃,删除Python 2.5并不意味着它在2.6中不起作用,并且[很明显的是](http:// docs .python-requests.org/EN /最新/社区/ FAQ /#中的python-3支持)。和[这里](http://docs.python-requests.org/en/latest/user/quickstart/#post-a-multipart-encoded-file)多部分文件的文档。 –

+0

你是对的,谢谢你。但我仍然有同样的问题,我没有得到结果页面。 –

相关问题