Python простой метод POST - PullRequest
       15

Python простой метод POST

1 голос
/ 12 февраля 2011

Веб-страница имеет 2 поля формы

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 и затем Submit Если возможно, взять веб-страницу после отправки (чтобы получить результат).

Спасибо всем

Ответы [ 2 ]

7 голосов
/ 12 февраля 2011

Лично я предпочитаю 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

4 голосов
/ 12 февраля 2011

Вы можете сделать это так (взято из этого примера ):

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