我想用python请求模块做一个HTTP删除,它遵循下面的API
https://thingspeak.com/docs/channels#create
DELETE https://api.thingspeak.com/channels/4/feeds
api_key=XXXXXXXXXXXXXXXX
我正在使用python v2.7和请求模块。我的python代码是这样的
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)
代码不起作用,因为requests.delete()只能接受一个参数。正确的代码应该是什么样子?
你想要的
您必须使用命名输入“data”,我猜您实际上希望转储JSON,因此必须将字典“mydata”转换为JSON字符串。您可以使用json.dumps()来实现这一点。
我不知道你正在使用的API,但是根据它的声音,你实际上想要传递URL参数,而不是数据,因为你需要:
不需要将
mydata
dict转换为json字符串。您可以按照@Eugene的建议发送数据参数,但通常的delete请求只包含url而不包含其他内容。原因是RESTful url应该唯一地标识资源,从而消除了为删除提供额外参数的需要。另一方面,如果“APIKEY”与身份验证有关,那么它应该是头的一部分,而不是请求数据,如下所示。
相关问题 更多 >
编程相关推荐