我正在尝试根据用户 /logout
请求返回 204 HTTP
代码。正如我发现的,此代码表明服务器已成功处理请求,但不需要响应。
我正在移动设备上检查此响应,不完全是我,而是我的情况下的 OkHTTP 库。
如果 Content-Length
不为 0,它会抛出异常。我尝试通过 chrome 扩展发送它并得到以下响应
响应不包含任何数据。
所以似乎没有任何回应,但 Content-Length:5。
所以我对此很困惑,我通过 WireShark 捕获了数据包,这是结果
\n\n\n\t\n
这是我处理请求的简单代码
\Slim\Slim::registerAutoloader();
$app = new \Slim\Slim();
$app->add(new \TokenAuth());
$app->put('/test204', function () use ($app) {
$app->response->setStatus(204);
});
一切似乎都很好,我不知道这个垃圾设置在哪里。
请帮助解决问题,因为我无法在客户端应用程序上收到有效响应,并且仅忽略异常并不能解决此问题。
最佳答案
抱歉,问题不在于 Slim Framework。我是新手,不知道即使在 ?>
之后出现的特殊字符也会以纯 html 文本的形式输出。
我必须在 php 脚本结束后删除所有空格、制表符和其他字符。
要查找以换行符结尾的文件,请使用以下 bash 命令。
find -type f -exec sh -c '[ -z "$(sed -n "\$p" "$1")" ] && ec
ho "$1"' _ {} \;
我想知道也许有什么方法可以让 apache 跳过文件开头的空字符、新行和其他垃圾。
关于php - Slim Framework 返回 204,带有 5 个额外的新行和选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30954198/