0

我正在尝试在 python 中发出一个 POST 请求,该请求基本上会从“模板”中获取一个文件并将其放入 skytap 中的“配置”中,而我在 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 中使用 requests 模块尝试过同样的操作,但仍然无法正常工作。只是为了确保我没有犯愚蠢的错误,这里的代码是:

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

0 回答 0