我正在尝试构建一个用户可以控制某些交换机的网站。交换机位于远程节点上(为简单起见,节点可以从HTTP请求中提取有用的数据)。用户可以设置何时开启和关闭开关的时间表。 (例如,在星期二下午4点开启,在星期二下午6点关闭)。
是否可以在特定时间从我的Wamp / Lamp系统发送HTTP请求? (浏览器中不应该加载页面)?因此,对于我的示例,在星期二下午4点,我将发送一个http请求,将其打开,并在下午6:00发送另一个请求将其关闭。
如果没有,处理这种情况的最佳方法是什么?一个C程序可能吗?
该网站主要是在运行Apache Web服务器的php上编写的。我在Windows上运行WAMP或httpd(在Fedora Linux下)。数据存储在MySQL数据库中(包括时间表)
感谢您的帮助: - )
答案 0 :(得分:4)
使用cron
和curl
。 cron
可以在特定时间运行命令,curl
可以发送HTTP请求。您的crontab
可能如下所示:
# m h dom mon dow command
0 16 * * tue curl http://localhost/turn_on.php
0 18 * * tue curl http://localhost/turn_off.php
有关格式的详细信息,请参阅crontab(5)
;有关如何更改格式的详细信息,请参阅crontab(1)
。 (分别是man 5 crontab
和man 1 crontab
。)
答案 1 :(得分:1)
当发送ON和OFF信号的时间固定时,只需组合 cron和curl 命令即可。 linux crontab上的小型Google搜索应该会有所帮助。
当时间变化(没有恒定间隔)时有点复杂。然后你可能需要一个单独的程序(可能用C编写)来获取开/关时间(比如说,来自DB)然后你可以'libcurl'C-library 将信号发送到HTTP服务器