适用于命令行用户的 PHP Web 服务



我被赋予了一个任务,即编写一个Web服务,将数据从传感器推送到服务器数据库。

我编写了一个PHP网络服务,它在GET中接受一些参数,处理其中的数据并将数据存储在数据库中。

http://www.example.com/pushDataService/index.php?arg1=<Data 1>&arg2=<Data 2>&arg3=<Data 3>

但是我们的固件程序员想要一些可以在命令行上测试的东西。 就像使用远程登录的SMTP通信一样

Telnet mail.example.com 25
EHLO mail.example.com
AUTH LOGIN
UserName encrypted in base 64
Password encrypted in base 64
MAIL FROM:<test@example.com>
RCPT TO:<test@domain.com>
DATA this is a test message.

我可以让 Web 服务像这样工作,他可以在命令行中执行握手过程,然后单独发送每个参数,用户获得每个参数的响应?

请帮忙,我是PHP的新手,不知道这样的(网络)服务!

谢谢

编辑:我们已经在使用MQTT将数据推送到服务器,但我们需要另一台服务器来推送数据,该服务器将作为SMTP邮件服务器和MQTT协议的组合... SOAP Web 服务会为我完成这项工作吗?

可以完成http://www.example.com/pushDataService/index.php?arg1=<Data 1>&arg2=<Data 2>&arg3=<Data 3>请求就像使用 telnet 的 SMTP 通信一样,如下所示:

Telnet www.example.com 80
GET /pushDataService/index.php?arg1=<Data 1>&arg2=<Data 2>&arg3=<Data 3> HTTP/1.1
Host: www.example.com
<CR>
<CR>

使用 GET 请求推送数据并不是最好的主意。PUT 或 POST 请求会更合适。首先,它不是幂等的,永远不应该被缓存,更重要的是 - 它在数据格式和大小方面更加灵活。发送 json 数据的 POST 请求可能如下所示

Telnet www.example.com 80
POST /pushDataService/index.php HTTP/1.1
Host: www.example.com
Content-Type: application/json; charset=utf-8
Content-Length: 57
{"arg1":"<Data 1>", "arg2":"<Data 2>", "arg3":"<Data 3>"}

最新更新