Python 简单的 POST 方法

1 投票
2 回答
10455 浏览
提问于 2025-04-16 11:42

一个网页上有两个表单输入框

1:

<input type="text" maxlength="30" value="" name="poster" id="id_poster">

2:

<textarea name="content" cols="80" rows="20" id="id_content"></textarea>

还有一个按钮:

<input type="submit" value="Submit your own idea!">

我想用Python来填写这两个输入框,分别是id_poster和id_content,然后点击提交。如果可以的话,我还想在提交后获取网页的内容(也就是获取结果)。

谢谢大家

2 个回答

4

你可以这样做(这个例子来自这个链接):

import urllib
import urllib2

url = 'http://www.someserver.com/somepage.html'
values = {'id_poster' : 'some_poster_id',
          'id_content' : 'some_content'}

data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
the_page = response.read()
7

我个人比较喜欢使用 httplib2 这个库,你需要先安装它。这个库比Python自带的那个要好很多。

from httplib2 import Http
from urllib import urlencode
h = Http()
data = dict(id_poster="some_poster_id", id_content="some_content")
resp, content = h.request("http://example.org/form-handler", "POST", urlencode(data))

然后你可以用 resp 来检查响应结果。

撰写回答