我可以安排来自Apache的HTTP请求吗?

时间:2013-05-04 22:22:59

标签: php mysql c apache

我正在尝试构建一个用户可以控制某些交换机的网站。交换机位于远程节点上(为简单起见,节点可以从HTTP请求中提取有用的数据)。用户可以设置何时开启和关闭开关的时间表。 (例如,在星期二下午4点开启,在星期二下午6点关闭)。

是否可以在特定时间从我的Wamp / Lamp系统发送HTTP请求? (浏览器中不应该加载页面)?因此,对于我的示例,在星期二下午4点,我将发送一个http请求,将其打开,并在下午6:00发送另一个请求将其关闭。

如果没有,处理这种情况的最佳方法是什么?一个C程序可能吗?

该网站主要是在运行Apache Web服务器的php上编写的。我在Windows上运行WAMP或httpd(在Fedora Linux下)。数据存储在MySQL数据库中(包括时间表)

感谢您的帮助: - )

2 个答案:

答案 0 :(得分:4)

使用croncurlcron可以在特定时间运行命令,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 crontabman 1 crontab。)

答案 1 :(得分:1)

当发送ON和OFF信号的时间固定时,只需组合 cron和curl 命令即可。 linux crontab上的小型Google搜索应该会有所帮助。

当时间变化(没有恒定间隔)时有点复杂。然后你可能需要一个单独的程序(可能用C编写)来获取开/关时间(比如说,来自DB)然后你可以'libcurl'C-library 将信号发送到HTTP服务器