php - 尝试通过 HTTP 传递登录凭据,需要解决方法

标签 php http post get iot

致我的 Web 开发 friend 们:

我最近刚买了一个 GoGoGate2 车库门开启器,我正在尝试通过 HTTP 请求设置一个本地解决方法来触发车库门开启器的打开事件。 (这适用于 IoT 中心)。我通过 IP 访问了我的 GoGoGate2,它把我带到了一个基于浏览器的用户界面。我使用 WireShark 嗅探出在打开事件时触发的 HTTP 请求。我得出的结论是,门可以通过以下 HTTP 请求打开和关闭。

打开门: http://device-ip/isg/opendoor.php?numdoor=1&status=2

关上门: http://device-ip/isg/opendoor.php?numdoor=1&status=0

好吧,这很简单。当我从网络上的计算机或电话发出 HTTP 请求时,请求有效并且门可以完美地打开和关闭。但是,当我尝试从我的 Hubitat 触发 HTTP 请求时,事件没有触发。我试图完全按照从 chrome 中的隐身窗口写入的方式使用我的 HTTP,但我收到了一条消息“受限访问”。因此,Hubitat 显然需要某种身份验证才能与 GoGoGate2 设备通话。

有什么方法可以接入我的 Hubitat 并使用它连接到我的 GoGoGate2 并让它保存登录凭据?我就是这样用手机/电脑做的。难道没有办法从 Hubitat 本身做同样的事情吗?

抱歉,如果这是一个菜鸟问题。

请注意,我也尝试过使用格式login:password@device-ip/isg/opendoor.php?numdoor=1&status=2但没有成功

此外,不确定这是否有帮助,但在车库门开启器的身份验证过程中,登录是通过执行 post 方法执行的。根据我的嗅探,这是相关信息。

Request Method: POST
Request URI : /index.php/index.php
Connection: keep-alive\r\n
Upgrade-Insecure-Requests: 1\r\n
Content-Type: application/x-www-form-urlencoded\r\n

Form Item: "login" = "mylogin"
Key: login
Value: mylogin

Form Item: "pass" = "mypass"
Key: pass
Value: mypass

Form Item: "sesion-abierta" = "1"
Key: sesion-abierta
Value: 1

Form Item: "send-login" = "Sign In"
Key: send-login
Value: Sign In

我不确定如何通过 HTTP 请求传递帖子信息,是否有人知道如何执行此操作或解决方法?

提前致谢

安迪

最佳答案

您应该能够为此请求使用 cURL:

curl -d "login=mylogin&pass=mypass&sesion-abierta=1&send-login=Sign In"-X POST http://www.requestdomain.com

https://ec.haxx.se/http-post.html 找到更多信息

关于php - 尝试通过 HTTP 传递登录凭据,需要解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54612525/

相关文章:

php - 如何获取MySQL int字段的长度

php - 需要 JQuery 函数从 PHP 加载几个顺序操作

java - 与网页通信

java - 带有 Spring 框架的 Netty HTTP 服务器

python - 如何使用 flask.redirect 发送 POST 请求?

php - 我发送 cURL 帖子的页面必须对 "Respond"做什么?

PHP 无法删除由 JavaScript 设置的 cookie

php - 在 Zend Framework 的 2 InputFilter 中有条件地需要

java - 写入操作时 Solrj 身份验证失败

http - 获取 http-304-status,但仍传输数据