用于 LIFX 电源开/关的 PHP HTTP CURL PUT 请求

2024-04-11

我正在尝试使用 PHP 打开/关闭所有 Lifx 灯泡。

API 文档,http://developer.lifx.com/ http://developer.lifx.com/,表示使用 PUT 请求:

curl -u "c87c73a896b554367fac61f71dd3656af8d93a525a4e87df5952c6078a89d192:" \
       -X PUT \
       -d "state=on" \
       "https://api.lifx.com/v1beta1/lights/all/power"

现在可以在命令行中使用该curl 命令。它会提示我输入密码,除非我将其添加到“用户名”中的冒号后面。

问题是当我尝试将该命令转换为 PHP 时,如下所示:

$authToken = 'c87c73a896b554367fac61f71dd3656af8d93a525a4e87df5952c6078a89d192:myFakePassword';
$ch = curl_init('https://api.lifx.com/v1beta1/lights/all/power');
$headers = array("selector=all&state=on",'Authorization: Bearer ' . $authToken);
curl_setopt($ch, CURLOPT_PUT, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);

这个过程完成了,但我得到了 404 Not Found,Lifx 文档说这可能是一个格式错误的选择器。

注意:我能够使用 PHP 成功调用此 POST 来切换电源:

$authToken = 'c87c73a896b554367fac61f71dd3656af8d93a525a4e87df5952c6078a89d192';
$ch = curl_init('https://api.lifx.com/v1beta1/lights/all/toggle');
$headers = array("selector=all",'Authorization: Bearer ' . $authToken);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);

但我不想只是切换灯光,我希望能够指定打开或关闭。我的 PUT 请求可能出了什么问题?

感谢您的任何建议。


通过设置一些其他卷曲选项解决了这个问题:

$ch = curl_init($link);
$headers = array('Authorization: Bearer ' . $authToken);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$data = "state=on";
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);

$链接是https://api.lifx.com/v1beta1/lights/all/power

$authToken 是我的 api 密钥

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用于 LIFX 电源开/关的 PHP HTTP CURL PUT 请求 的相关文章

  • 如何在不提交 FORM 的情况下获取 VALUE?

    我想在不提交表单的情况下从表单中获取价值 因为客户必须选择正确的房屋模型类型才能获得适合所选房屋模型的正确表单 无需提交 只需选择房屋模型 例如继续之后的其余形式 到目前为止我已经尝试过这个
  • XPath 直到下一个标签

    与之前在这里问过的其他人类似的问题 但由于我不知道如何应用这些建议 所以我需要一些帮助 我想找到一个 html 文档的节点 其结构如下 摘录 可能有所不同 h2 My title 1 h2 h3 Sub heading h3 p span
  • 来自同一数组的引用键

    我试图引用同一数组中项目的键 值对 glossary args array name gt Glossary Terms singular name gt Glossary Term add new gt Add New Term edit
  • PHP 正则表达式修复被黑的 WordPress 网站

    我有一个客户安装了多个 WordPress 但他没有保持最新状态 结果 他被黑了 当我试图找出黑客是如何进入并永久解决问题时 我正在尝试创建一个脚本来快速 自动地修复它们 我找到了这个脚本 它可以满足我的要求 http designpx c
  • Laravel 4 - 工匠错误 SQLSTATE[42000]

    我正在尝试为我的用户表创建一个新的迁移 我有以下架构 Schema create users function t t gt increments id t gt string username 16 t gt string passwor
  • 将 JSON 数据从服务发送到 Android 中的 UI

    要求是 我有一个后台服务 在该服务中我正在执行 REST 调用来获取 JSON 数据 我想将 JSON 数据发送到 UI 并更新内容 我可以使用的一种方法是将整个 JSON 字符串存储在 SharedPreferences 中并在 UI 中
  • Selenium RC:如何检查元素是否具有给定属性?

    我有一些带有onclick属性和一些没有属性 我想检查指定的元素是否具有onclick属性 我怎样才能做到这一点 getAttribute 当有属性值时返回该属性值 如果没有 它会抛出 RuntimeException 并停止测试 即使我将
  • 如何在 Mac 上更改 PHP-FPM 端口

    我没有使用 php 或 php fpm 但它占用了端口 9000 我需要端口 9000 我想更改端口 我把它改成了 etc php fpm conf and etc php fpm d www conf 听 127 0 0 1 9005 仍
  • 如何在 PHP 的 GD 库中为文本添加发光或阴影? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 是否可以在 GD 中为文本添加发光或
  • php oop 如何使用属性和方法形成类

    我是 php oop 的新手 我对类有一些想法 但我仍然不知道如何在创建的对象中使用它的属性和方法 我需要了解下面报告的代码是否正确 如果不正确我做错了什么 我假设我有一个可以为我做任何事情的课程 我们称之为 Class myClass 现
  • 当 URL 可在浏览器中访问时,SSH Curl 不起作用

    This post is linked with another post of mine still unsolved Laravel 作曲家更新 连接被拒绝 https stackoverflow com questions 52404
  • Ember 模型中的自定义请求 url

    我正在尝试将 Ember 数据与已构建的 REST api 一起使用 它适用于顶级路由 例如我在 api 端有课程路由 如下所示 app get courses app controllers courses findAll app get
  • Wordpress Cron 错误“SSL 证书:无法获取本地颁发者证书”

    我在安装 WordPress 时遇到错误 wp cron php 无法由 WordPress 执行 调试工具 Crontrol 报告错误 SSL证书 无法获取本地颁发者证书 WGET 无法访问 wp cron php 很可能是由于 SSL
  • 无法加载 php_curl

    我已经在WindowsXp上安装了php5 2 13 apache2 2 15 将C php添加到PATH ssystem变量中 我无法启用卷曲扩展 我配置了extension dir并删除了 在 php ini 中形成 php curl
  • 将数组内爆为来自 mysql 查询的逗号分隔字符串

    在过去的 1 1 2 天里 我一直在尝试将 16 行 id 存储到一个字符串中 并用逗号分隔每个 id 我得到的数组来自 MySQL 我得到的错误是 implode 函数 传递了无效参数 str array string while row
  • 在 PHP 中查找数字的倍数

    我想在 PHP 中找到一个数字的所有倍数 我正在使用这样的东西 if count 20 计算出如果 count不等于20 但我还需要这个脚本来检查是否 count不等于 20 40 60 80 100 120 140 160 等 有任何想法
  • 用于查找 标记之间的所有内容的正则表达式

    我正在尝试找到一种方法来列出之间的所有内容 a and a 标签 所以我有一个链接列表 我想获取链接的名称 不是链接的位置 而是它们在页面上的名称 对我来说真的很有帮助 目前我有这个 lines preg split r n r conte
  • Laravel 4:Facades 是如何解决的?

    我有点想看看 Laravel 4 发生了什么facades在引擎盖下 我们以这个 Facade 为例 File get someArgs 如果我没有记错的话 逐步 过于简化 的调用将是 static method invocation wh
  • CURL请求问题

    我正在尝试验证 paypal pdt 信息 我生成了模型表单并提交了它 IT 部门也开始工作并返回了信息 我尝试了同样的事情来发出卷曲请求 但我的当前请求对我来说返回空白 我的模型形式
  • Codeigniter 中的 HTML 格式的电子邮件

    如何在 codeigniter 中发送格式化的电子邮件 我有这段代码 可以很好地发送电子邮件 但它没有按应有的方式格式化它 您可以看到显示收到电子邮件的图片 function email sender this gt load gt hel

随机推荐

  • 如何为 JAX-RS 添加 @PATCH 注释?

    JAX RS 具有 HTTP 动词的注释 例如GET GET and POST POST 但是没有 PATCH注解 我怎样才能有一个注释PATCHHTTP 动词 像下面这样 PATCH public Response someCode Co
  • [Perl][net::ssh2]如何在执行远程命令时保持ssh连接

    我正在编写一个 perl 脚本 使用 net ssh2 与远程服务器建立 SSH 连接 我正在Windows上工作 我选择 Net SSH2 因为我必须在同一脚本中建立一些 SFTP 连接 目前 我的 sftp 连接运行良好 问题是当我尝试
  • Elasticsearch bool 过滤器用于数组同一元素上的多个条件

    我正在尝试创建一个仅在满足多个条件时才匹配文档的查询 过滤器在同一个项目上一个数组的 假设这是文档 arr f1 a f2 true f1 b f2 false 我希望能够检索在同一元素上有 N 个条件匹配的文档 例如 arr f1 a A
  • 解释这个 JsPerf.com 结果

    我在这个网站上进行了测试http jsperf com http jsperf com 我需要有人来解释一下 绿色和粉色代表什么 什么是每秒操作数 95 814 583 是什么 1 95 是多少 最快 和 较慢 是什么意思 嘿 我是 jsP
  • 使用“Hash#fetch”相对于“Hash#[]”的好处

    我不确定在什么情况下我想使用Hash fetch over Hash 是否存在一个可以很好用的常见场景 三个主要用途 当该值是强制性的 即没有默认值时 options fetch repeat times 你也会收到一条很好的错误消息 ke
  • 在OpenCV中,CV_8U和CV_8UC1有什么区别?

    在OpenCV中 CV 8U和CV 8UC1有区别吗 它们都是指具有一个通道的 8 位无符号类型吗 如果是的话 为什么有两个名字 如果不是 有什么区别 你可以看到从this https stackoverflow com questions
  • 从 JavaScript 访问 DIV 元素

    这是以下 DIV 结构 div class demo div div div div div div div 如何从 JavaScript 访问 tabs 2 var plot2 jqplot tabs 2 points 此 JavaScr
  • 在哪里可以找到英语短语列表? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我的任务是搜索文本中陈词滥调和常见短语的用法 这些短语与您在财富之轮的短语谜题中可能看到的短语类似 这
  • 自定义 Visual Studio 起始页

    有没有办法自定义 VS 2008 起始页 我想显示一个网站 Sharepoint 站点 而不是新闻源 但我找不到解决方案 Update 关于卡什回答 https stackoverflow com questions 553392 cust
  • iOS8 中的应用内购买收据验证

    我们正在遵循 raywenderlinch 教程http www raywenderlich com 23266 in app purchases in ios 6 tutorial consumables and receipt vali
  • 更改 Rack Middleware 中的 response.body

    我正在尝试为 Rails 4 2 应用程序编写一些机架中间件 该中间件使用以下命令更改响应正文gsub方法 我发现使用这样的模式的旧示例 class MyMiddleware def initialize app app app end d
  • JavaScript:从其中获取完全限定的函数名称?

    看看下面的片段 有没有我可以写的函数来代替 生成可以在另一个函数中重用的路线 就像是var route this show fullyQualifiedName也许 var services github com api v2 json r
  • 从特定的起始位置获取选项?

    我有一个这样的选择
  • C++读取二进制文件

    我想了解如何在 C 中读取二进制文件 我的代码 int main ifstream ifd input png ios binary ios ate int size ifd tellg ifd seekg 0 ios beg vector
  • Jetty 8.1 用“Dispatched Failed”消息淹没日志文件

    我们使用 Jetty 8 1 作为嵌入式 HTTP 服务器 在过载情况下 服务器有时会开始用以下消息淹没日志文件 warn java util concurrent RejectedExecutionException warn Dispa
  • std::find 的优点

    使用 C 11 有什么优势吗std find超过一个容器的find method 如果是std vector 其中没有find方法 确实std find使用一些智能算法或简单地迭代每个元素的天真的方法 如果是std map看来你需要传递一个
  • 在python 3.5上安装pygame时出现权限错误

    当我安装时pygame 1 9 2a0 cp35 none win32 whl对于 python 3 5 我收到权限错误 PermissionError WinError 5 Access is denied 然后它说错误出现在 pygam
  • OleDbDataReader 如何读取数字类型?

    尝试从中读取数据 XLS 文件 我能够读取所有单元格字符串 但是无法读取数字在细胞中 我尝试使用 ToString 方法但没有成功 取回数据库null Code public xlsConverter string excelFilePat
  • Rust 的一步步交互式调试器?

    如何逐步调试 Rust 应用程序交互地就像我可以在 Ruby 中 撬开 一样 我希望能够在到达断点时实时查看并最好更改变量 是否有已完成生产的项目 我发现具有良好的可用性VS Code https code visualstudio com
  • 用于 LIFX 电源开/关的 PHP HTTP CURL PUT 请求

    我正在尝试使用 PHP 打开 关闭所有 Lifx 灯泡 API 文档 http developer lifx com http developer lifx com 表示使用 PUT 请求 curl u c87c73a896b554367f