发送 POST 请求:url 中缺少尾部斜杠会触发重定向 GET 请求

https://myurl.com/directoryname我尝试以 JSON 格式发送以下 POST 请求:


{

    "username": "test",

    "password": "test2"

}

我的服务器上的文件index.php有以下调试:


var_dump($_SERVER['REQUEST_METHOD']);


$raw_data = file_get_contents('php://input');

$data = json_decode($raw_data);

但是当我尝试var_dump()使用echo这些变量时,我得到了:


请求方式:string(3) "GET"


原始数据:字符串(0)“”


数据:空


这些代码在 PHP 中似乎没有任何问题,所以我认为问题一定出在我发送此请求的方式上。


慕田峪7331174
浏览 212回答 4
4回答

繁花如伊

发送请求到https://myurl.com/directoryname(没有尾部斜杠)将触发重定向到https://myurl.com/directoryname/,从而发出 GET 请求。应将 POST 请求发送至https://myurl.com/directoryname/(带有尾部斜杠)或https://myurl.com/directoryname/filename.php.

桃花长相依

我认为您的脚本非常好。仔细检查请求的目标 URL。使用 echo 语句调试尝试使用表单数据选项发送数据。使用 print_r($_POST); 并验证一次

肥皂起泡泡

该脚本似乎没有错误我认为你应该检查你的服务器

慕斯709654

根据他们的默认设置,它以 GET 开头,因此您要确保使用 POST 方法。
打开App,查看更多内容
随时随地看视频慕课网APP