我正在尝试更多地围绕飞利浦顺化API。我的调试剪辑很好用。现在我想更动态地使用它,让它在处理中发出咕噜声。
问题是:我甚至不知道从哪里开始格式化该请求。根据API文档,您可以像这样打开或关闭灯泡:
Address: http://<bridge ip address>/api/newdeveloper/lights/1/state
Body: {"on":false}
Method: PUT好吧,我知道地址部分了。但是如何将身体格式化为URL呢?我是如何确定这是一个PUT请求?
发布于 2013-09-16 01:41:22
您不需要将主体格式化为URL;主体和URL是非常独立的。
以下是HTTP请求的样子:
METHOD /path HTTP/1.x
Some: Headers
Foo: Bar
The body这个页面中的一个可能看起来像
GET /questions/18819266/how-to-parse-a-restful-url HTTP/1.1
Accept: */*
Host: stackoverflow.com
User-Agent: Firefox 23 and somesuch因此,要用curl发送示例请求,应该如下所示:
$ curl -v 'http:///api/newdeveloper/lights/1/state' -X PUT --data-binary '{"on":false}'发布于 2014-02-03 19:37:35
要扩展minitech的答案,可以通过HTTP方法发送数据,例如PUT、DELETE、POST和GET。如果您试图使用要发送的数据“格式化url”,即根据要发送到Hue的参数生成URL,则实际上使用的是GET而不是PUT或POST。
不幸的是,DELETE和PUT无法通过普通的HTML表单通过“方法”发送,只有POST和GET。根据您使用的语言,您需要使用LWP或curl,或者找到其他方式发送PUT数据。如果javascript是您首选的编程语言,则Hue的clip.html使用javascript和XMLHttpRequest()。
https://stackoverflow.com/questions/18819266
复制相似问题