首页 > 解决方案 > 使用 wordpress 上的按钮控制 Node-Red,HTTP Get

问题描述

所以,我正在做一些事情,我需要在我的 wordpress 网站上使用一个按钮来控制红色节点。做了一些研究,看起来http是要走的路。问题是,我对此一无所知。所以我设法通过将以下内容放入浏览器来向节点红色发送一个值-

本地主机:1880/test/?value=1

这是流程-

[{"id":"a247c8e.caffb38","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"93b2ec9.0acfa1","type":"debug","z":"a247c8e.caffb38","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":470,"y":160,"wires":[]},{"id":"a3129f89.1dfe3","type":"http in","z":"a247c8e.caffb38","name":"","url":"test","method":"get","upload":false,"swaggerDoc":"","x":160,"y":160,"wires":[["93b2ec9.0acfa1"]]}]

但现在我卡住了。2个问题-

1-如果我只是将该链接放在网站上的一个按钮中,它会起作用,但它会尝试转到该网站然后给出错误。我不想去那个网站,我想留在按钮所在的网站上。我是否需要发送某种类型的 http 响应来表示“知道了,现在留在同一个站点上”或其他什么?如何?

2-如何从另一个网络进行这项工作?我需要做类似的事情吗-

publicIP/localIP/port/test/?value=1

类似的东西?

非常感谢你的帮忙!

标签: wordpresshttpgetnetwork-programmingnode-red

解决方案


  1. 您需要使用 Wordpress 页面中的 Javascript 发出请求。您可以将onclick侦听器附加到按钮,然后使用 aXMLHttpRequest来触发侦听器。XMLHttpRequest网上有很多使用的例子。

  2. 假设您在家庭网络内的设备上运行 Node-RED,那么您将需要在路由器上设置某种形式的端口转发,以将 Node-RED 实例暴露给外部。在执行此操作之前,您必须启用需要用户名/密码才能访问 Node-RED 编辑器的管理员身份验证。如果没有这个,您将面临黑客获得访问权限并安装加密矿工的风险。

    如果您希望它适用于 Internet 上的任何人,您还需要静态 IP 地址或 DynamicDNS 解决方案。


推荐阅读