如何解决如何从请求获取POST数据带有套接字的PHP上的HTTP服务器
我在带套接字的PHP上找到了简单HTTP服务器的代码。对于测试,我尝试使用其标头响应客户端。有用。但是如何获取其POST数据? while
之后,$headers
仍然不包含POST数据。
<?php
$socket = stream_socket_server("tcp://0.0.0.0:8000",$errno,$errstr);
if (!$socket)
{
die("$errstr ($errno)\n");
}
$connects = [];
while (true)
{
// creating an array of listening sockets
$read = $connects;
$read[] = $socket;
$write = $except = null;
// wait for sockets to read (no timeout)
if (!stream_select($read,$write,$except,null))
{
break;
}
if (in_array($socket,$read))
{
// new connection
$connect = stream_socket_accept($socket,-1); // accept new connection
$connects[] = $connect; // add to list
unset($read[array_search($socket,$read)]);
}
foreach ($read as $connect)
{
// handle all connections
$headers = [];
while ($buffer = rtrim(fgets($connect)))
{
$headers[] = $buffer;
}
$response = implode("\n",$headers) . "\nCount: " . count($headers);
echo "================== RESPONSE\n" . $response . "\n================== END RESPONSE\n";
fwrite($connect,"HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nConnection: close\r\n\r\n" . $response);
fclose($connect);
unset($connects[array_search($connect,$connects)]);
}
}
fclose($server);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。