我有一个 HTTP POST 指向两个不同的地方。
第一个位置是由第三方解决方案处理的,所以我无法看到他们如何处理数据(他们必须这样做,因为价值已经过去,我看到了结果)。
在我的位置中,我有一台NGINX服务器(在使用很多之前从未遇到过任何问题)。我使用 php来读取POST数据,我希望内容在$_POST
变量中,因为POST是$_SERVER["CONTENT_TYPE"] => "multipart/form-data"
但是,即使类型和$_SERVER["CONTENT_LENGTH"]
是正确的,我在$_POST
,$_REQUEST
中也没有收到任何内容,而在检查file_get_contents('php://input')
时,内部没有任何内容任
身体是一个非常小的 json肿块(<1k)。始终是一组对象。
要查看我使用echo json_encode( array( "GET" => $_GET, "POST" => $_POST, "REQUEST" => $_REQUEST, "SERVER" => $_SERVER ) )
我已经完成了现在要检查的想法。
条目$_SERVER["PHP_SELF"]
可能由于路径分隔符而产生奇怪的混乱?
答案 0 :(得分:1)
How to post JSON to PHP with curl引导我找到解决方案:
不要忘记将其作为application/json
一旦我这样做,数据就会在身体中传出来。这对我有帮助,但我仍然很好奇为什么第三方接收器可以处理数据。