Php 使用cURL命令生成JSON POST Empty

Php 使用cURL命令生成JSON POST Empty,php,curl,Php,Curl,我在CentOS 7上运行的PHP7.2脚本中有一个cURL调用,该脚本将空数据传递给端点。在诊断问题时,我尝试在命令行上使用cURL复制问题,而不是使用PHP代码。以下是我正在运行的命令(我被告知发送内容长度为0): /usr/bin/curl-H“App Key:321313”-H“App Token:321312”-H“Content Length:0”-H“Accept:application/json”-H“Content Type:application/json”-d'{“repo

我在CentOS 7上运行的PHP7.2脚本中有一个cURL调用,该脚本将空数据传递给端点。在诊断问题时,我尝试在命令行上使用cURL复制问题,而不是使用PHP代码。以下是我正在运行的命令(我被告知发送内容长度为0):

/usr/bin/curl-H“App Key:321313”-H“App Token:321312”-H“Content Length:0”-H“Accept:application/json”-H“Content Type:application/json”-d'{“reportCustomFields”:[{“label”:“THIS”,“value”:“show”:true},{“label”:“UP”,“value”:“DOWN”,“show”:true}]}”https://url.here/endpoint_debug.php“

在端点脚本中,我正在打印输入流

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

print "HEADERS:\n\n";
print_r(apache_request_headers()) . "\n\n";

print "RAW Data:\n\n";
print "'" . $data . "'\n\n";
无论我做了什么,
$data
变量始终为空。我看到的结果总是“”。我还尝试将它发送到,它也显示“表单值”为空

我试过使用
-X POST
和不使用。我尝试更改调用的顺序,使URL位于数据(-d)开关之前。我也尝试过
--数据

可能是什么问题?我已经在调用同一端点的两个不同的服务器上复制了这一点。同一项目中的其他代码处理
file\u get\u内容('php://input)
正确,所以我不认为是这样

任何指导都将不胜感激

TLDR:您需要删除
-H“内容长度:0”
如果你想要回复,为什么你被要求发送这个消息是没有道理的

我使用webhook.site url未经修改地尝试了您的命令,它可以返回内容正文(例如),而不发送标题,如果发送标题,则不返回任何内容:

很简单,这个命令:

/usr/bin/curl -H "App-Key: 321321321313" -H "App-Token: 321321321312" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"reportCustomFields":[{"label":"THIS","value":"THAT","shown":true},{"label":"UP","value":"DOWN","shown":true}]}' 'https://webhook.site/27f6128e-2f82-4157-99da-99464f22122f'
/usr/bin/curl -H "Content-Length: 0" -H "App-Key: 321321321313" -H "App-Token: 321321321312" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"reportCustomFields":[{"label":"THIS","value":"THAT","shown":true},{"label":"UP","value":"DOWN","shown":true}]}' 'https://webhook.site/27f6128e-2f82-4157-99da-99464f22122f' 
返回主体而此命令:

/usr/bin/curl -H "App-Key: 321321321313" -H "App-Token: 321321321312" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"reportCustomFields":[{"label":"THIS","value":"THAT","shown":true},{"label":"UP","value":"DOWN","shown":true}]}' 'https://webhook.site/27f6128e-2f82-4157-99da-99464f22122f'
/usr/bin/curl -H "Content-Length: 0" -H "App-Key: 321321321313" -H "App-Token: 321321321312" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"reportCustomFields":[{"label":"THIS","value":"THAT","shown":true},{"label":"UP","value":"DOWN","shown":true}]}' 'https://webhook.site/27f6128e-2f82-4157-99da-99464f22122f' 
显然什么也没有回报

服务器响应头显示了以下内容:

> Accept: application/json
> Content-Type: application/json
> Content-Length: 0
> 
* upload completely sent off: 112 out of 112 bytes
< HTTP/1.1 200 OK
< Server: nginx/1.14.2
>接受:应用程序/json
>内容类型:application/json
>内容长度:0
> 
*上传已完全发送:112字节中的112字节
Jeez。有一件事我没有试过。我去掉了头球,一切都很好。谢谢你