Php 试图通过HTTP传递登录凭据,需要解决方法

Php 试图通过HTTP传递登录凭据,需要解决方法,php,http,post,get,iot,Php,Http,Post,Get,Iot,给我的网络开发朋友: 我最近刚买了一个GoGoGate2车库门开启器,我正试图通过HTTP请求建立一个本地解决方案,以触发车库门开启器的打开事件。(用于物联网集线器)。我通过IP接入了我的GoGoGate2,它让我进入了一个基于浏览器的用户界面。我使用WireShark嗅出在打开事件中触发的HTTP请求。我得出结论,门可以通过以下HTTP请求打开和关闭 开门: 关门: 好吧,这很简单。当我从网络上的计算机或电话中发出HTTP请求时,请求会起作用,门会完美地打开和关闭。但是,当我试图从Hubi

给我的网络开发朋友:

我最近刚买了一个GoGoGate2车库门开启器,我正试图通过HTTP请求建立一个本地解决方案,以触发车库门开启器的打开事件。(用于物联网集线器)。我通过IP接入了我的GoGoGate2,它让我进入了一个基于浏览器的用户界面。我使用WireShark嗅出在打开事件中触发的HTTP请求。我得出结论,门可以通过以下HTTP请求打开和关闭

开门:

关门:

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

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

对不起,如果这是一个noob问题

请注意,我也尝试过使用
登录格式: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请求传递post信息,如果有人对此有一些见解,或者有解决方法

提前感谢,


Andy

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

curl-d“login=mylogin&pass=mypass&sesion abierta=1&send login=Sign-In”-X POST


有关详细信息,请访问

,您应该能够使用cURL进行此请求:

curl-d“login=mylogin&pass=mypass&sesion abierta=1&send login=Sign-In”-X POST


请在

中查找更多信息,因为登录是基于表单的,因此凭据可能存储为cookie。如果这些cookie是长期存在的,那么您可以在连接到API时重新使用它们。是否可以在HTTP请求中指定Cookie?否则,是否可以执行来自设备的多个请求序列-一个用于验证的POST,然后执行操作

或者,您可以在本地网络上托管自己的代理,在内部执行登录和后续请求。这可以通过PHP中的curl以编程方式完成。下面是一个例子:


确保使用CURLOPT_COOKIEJAR选项存储登录表单中的身份验证cookie,以便在后续请求中包含这些cookie。

由于登录是基于表单的,因此凭据很可能存储为cookie。如果这些cookie是长期存在的,那么您可以在连接到API时重新使用它们。是否可以在HTTP请求中指定Cookie?否则,是否可以执行来自设备的多个请求序列-一个用于验证的POST,然后执行操作

或者,您可以在本地网络上托管自己的代理,在内部执行登录和后续请求。这可以通过PHP中的curl以编程方式完成。下面是一个例子:


确保使用CURLOPT_COOKIEJAR选项存储登录表单中的身份验证cookie,以便它们可以包含在后续请求中。

好的,但是我如何利用它来构建脚本,以便在作为服务器的计算机上运行?我可以运行一个本地化的php服务器吗?好的,但是我如何利用它来构建一个脚本,我可以在一台作为服务器的计算机上运行呢?我可以运行本地化的php服务器吗?我试图在http请求中传递post的信息,但没有成功。如果您对此类操作的语法有任何了解,您将非常感激使用PHP curl以编程方式提交登录表单,然后请求第二页?我试图在http请求中传递post信息,但未成功。如果您对这样一个操作的语法有任何了解,您会非常感激使用PHP curl以编程方式提交登录表单,然后请求第二个页面?