使用urllib2的“POST”方法不会

2024-06-16 15:08:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python发出一个POST请求,它将从“Templates”中获取一个文件并将其放入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的新资源。 只是为了让你对输出有更多的了解

^{pr2}$

但我得到的只是

[{template:123124,name:abc}]

感谢任何能帮我解决这个问题的帮助

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

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

Tags: 代码jsonurldatacookieopenerurllib2urllib