使用urllib2的“POST”方法不起作用

时间:2013-09-04 21:11:19

标签: python urllib2 cookielib

我正在尝试在python中发出一个POST请求,它基本上从“模板”中获取一个文件并将其放入skytap中的“Configurations”中,我在python中遇到了一些POST请求的问题。 代码看起来像这样:

import urllib,urllib2, base64, cookielib
cookie_jar=cookielib.LWPCookieJar()
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))
urllib2.install_opener(opener)
#--------------
url="http://cloud.skytap.com/configurations"
values={"template_id":"1234"}
authentication=base64.b64encode("username:password")
header={"Authorization":"Basic %s"%authentication, "Accept":"application/json","Content-Type":"application/json"}
data=urllib.urlencode(values)
req=urllib2.Request(url,data,header)
res=urllib2.urlopen(req)
the_page=res.read()
print the_page

但是我不知道如何调试它出错的地方,因为输出仍然没有返回应该传递给POST的新资源。 只是为了让你获得更多的视角,输出应该是

[{template:123124,name:abc} <-- already existing template 
,{template:1234,name:new_template}]

但我得到的只是

[{template:123124,name:abc}]

感谢任何有助于我解决此问题的帮助

编辑:我在python中尝试了相同的使用请求模块但仍然无法正常工作。 为了确保我没有在这里犯下愚蠢的错误,那就是代码:

r=requests.post(url,data=json.dumps(values),headers=header)

0 个答案:

没有答案