如何从GAE发布表格?

时间:2015-10-19 16:48:25

标签: python google-app-engine urlfetch

我正在尝试将表单发布到第三方Web服务器。

表格是这样的:

<form method=post action="http://www.domain.com/path/page.do?id=18&localeCode=en-us">
<input type="submit" name="FILTER:name=init" value="Submit" />
</form>

如果我将此HTML加载到浏览器中并提交表单,Web服务器将返回正确的页面。如果我使用Alamofire从Swift提交,一切都很好。

但是在App Engine上,使用urllib2或urlfetch会返回不同的HTML页面。

from google.appengine.api import urlfetch
page = urlfetch.fetch(
    url="http://www.domain.com/path/page.do?id=18&localeCode=en-us",
    payload={"FILTER:name=init" : "Submit"},
    method=urlfetch.POST,
    headers={"Content-Type": "application/x-www-form-urlencoded"},
    deadline=30)

对于有效负载,我尝试将name = init编码为名称%3Dinit但没有任何进一步的成功。

1 个答案:

答案 0 :(得分:3)

在传递给reverse (myArray,0,4); 之前,您需要手动对您的有效负载dict进行urlencode。请参阅以下文档中的示例。

urlfetch.fetch