使用urllib2进行POST调用而不是GET
|
urllib2和POST调用中有很多东西,但是我遇到了问题。
我正在尝试对服务进行简单的POST调用:
url = \'http://myserver/post_service\'
data = urllib.urlencode({\'name\' : \'joe\',
\'age\' : \'10\'})
content = urllib2.urlopen(url=url, data=data).read()
print content
我可以看到服务器日志,它说我在发送数据时正在执行GET调用
urlopen的参数。
该库正在引发404错误(未找到),这对于GET调用是正确的,POST调用得到了很好的处理(我也在尝试使用HTML表单中的POST)。
没有找到相关结果
已邀请:
7 个回复
亨尖玛次酥
到
的302重定向。执行302重定向后,请求将从POST更改为GET(请参见问题1401)。尝试将
更改为
。
到街客核
这样,您只需扩展method的值,甚至将其包装在函数中,即可扩展到发出
,
,
和
请求。根据您要执行的操作,您可能还需要其他HTTP处理程序,例如用于多文件上传。
翰冒绢县
香腔弥胯瓤
正如@Michael Kent建议的那样,请考虑请求,这很棒。 编辑:这就是说,我不知道为什么将数据传递给urlopen()不会导致POST请求。这应该。我怀疑您的服务器正在重定向或行为异常。
递劝臼类洪
貉骂
田眯衅
也许这可以帮助