[英]How can I properly listen to HTTP JSON POST requests in PHP?
我需要听取 HTTP POST 请求并做出响应。 我怎么能听这样的请求?
如何收听 HTTP 发布请求? POST 请求必须发送到的 URL 是什么? 如何在不使用诸如while(.file_exists("stop.txt")) {}
的技巧的情况下使程序始终收听?
请注意,我不是在编写网站代码
要使用 PHP 程序收听 POST 请求,您需要做的就是让 web 服务器运行 PHP 脚本并接受 POST 请求。
您不需要任何等待请求的代码(例如while(.file_exists("stop.txt")) {}
)。 该部分由 web 服务器覆盖,一旦收到 HTTP 请求,它将调用您的脚本。
在您的 PHP 脚本中,您需要处理请求,这是通过读取魔术变量$_POST
来完成的。
下面是一个接收 HTTP POST 请求的简单示例,该请求带有参数“payload”,该参数包含 JSON 中的数据。
顺便提一句。 生成自己的 POST 请求的一个好方法是使用 Postman ( https://www.getpostman.com/ ) 等工具
<?php
$request_json = $_POST["payload"];
$request = json_decode($request_json);
print_r($request);
URL 将取决于网络服务器的运行位置。 例如,如果您在本地运行它,它将类似于localhost/path/to/run.php
。
我不知道,如果我得到你的问题是正确的。 如果您只是想回答,如果发送请求给您,您可以编写一个简单的 php 脚本:
<?php
if (!empty($_POST)):
// Post was sent and you can do stuff with it and response
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
else:
echo "Nothing to see here, because no post was sent";
endif;
?>
因此,当有人向该脚本所在的 uri 发送帖子时,此脚本会回答。 正如我在下面的答案中一样,您的服务器不需要主动“倾听”;-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.