我正在尝试将表单发布到第三方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但没有任何进一步的成功。
答案 0 :(得分:3)
在传递给reverse (myArray,0,4);
之前,您需要手动对您的有效负载dict进行urlencode。请参阅以下文档中的示例。
urlfetch.fetch