我有一个问题是可以检测请求的内容类型,我正在构建REST服务并尝试$_SERVER['CONTENT_TYPE']
但我得到了未定义的索引错误。我需要这个以确定我应该接受的内容类型和要拒绝的内容。
答案 0 :(得分:0)
如果您正在寻找请求类型 - GET, POST, PUT, DELETE
- 它是$_SERVER["REQUEST_METHOD"]
。
根据你的问题,我无法确定你是否在谈论其他事情的请求类型。
编辑。
Content-type
标头通常不会在请求中发送。它在HTTP协议中不是强制性的。即使它被发送,你也不能依赖它 - 就像来自用户的任何其他数据一样。它可以是假的。
无论如何,您可以使用getallheaders()
PHP函数获取所有请求标头。
答案 1 :(得分:0)
我解释的是,您希望针对不可接受的请求回复HTTP状态代码4XX
,请查看this问题。
答案 2 :(得分:0)
您可以尝试headers_list()。
示例:强>
<?php
header('Content-Type: application/json');
$headers = headers_list();
var_dump($headers);
?>
<强>输出:强>
array(2) {
[0]=>
string(23) "X-Powered-By: PHP/5.4.5"
[1]=>
string(24) "Content-Type: application/json"
}