我想使用遵循以下API的python请求模块进行HTTP DELETE;
https://thingspeak.com/docs/channels#create
def clear(channel_id):
data = {}
data['api_key'] = 'DUCYS8xufsV613VX'
URL_delete = "http://api.thingspeak.com/channels/" + str(channel_id) + "/feeds"
r = requests.delete(URL_delete, data)
我正在使用python v2.7并请求模块。我的python代码看起来像这样;
{{1}}
代码不起作用,因为requests.delete()只能接受一个参数。正确的代码应该如何?
答案 0 :(得分:4)
你想要
import json
mydata = {}
mydata['api_key'] = "Jsa9i23jka"
r = requests.delete(URL_delete, data=json.dumps(mydata))
你必须使用命名输入'data',我猜你实际上想要转储JSON,所以你必须将你的字典'mydata'转换为json字符串。你可以使用json.dumps()。
我不知道你正在使用的API,但是听起来它确实想要传递URL参数,而不是数据,因为你需要:
r = requests.delete(URL_delete, params=mydata)
无需将mydata
dict转换为json字符串。
答案 1 :(得分:2)
你可以像@Eugene建议的那样发送数据参数,但是传统上删除请求只包含url而不包含任何其他内容。原因是RESTful URL应该唯一地标识资源,从而消除了为删除提供额外参数的需要。另一方面,如果你的'APIKEY'与身份验证有关,那么它应该是标题的一部分而不是请求数据,就像这样。
UPDATE [DEV_CMS_Medical].[dbo].[SEC_Menus]
SET ActionNamec = ControllerName,
ControllerName = ActionName