Моя цель состоит в том, чтобы предложить портативное решение urllib2, которое бы POST-форму и затем перенаправляло пользователя к тому, что выходит.
POSTing часть проста:
request = urllib2.Request('https://some.site/page', data=urllib.urlencode({'key':'value'}))
response = urllib2.urlopen(request)
Предоставление data
устанавливает тип запроса POST. Теперь я подозреваю, что все данные, о которых я должен заботиться, взяты из response.info()
& response.geturl()
. Я должен сделать self.redirect(response.geturl())
внутри get(self)
метода webapp.RequestHandler
.
Но что мне делать с заголовками? Что-нибудь еще, что я пропустил? Фрагменты кода высоко ценятся. :)
ТИА.
РЕДАКТИРОВАТЬ: Вот наивное решение, которое я придумал. Перенаправляет, но удаленный сервер показывает ошибку, указывающую, что нет соответствия с ранее отправленной формой:
info = response.info()
for key in info:
self.response.headers[key] = info[key]
self.response.headers['Location'] = response.geturl()
self.response.set_status(302)
self.response.clear()