使用 Curl 发布 JSON

问题描述 投票:0回答:2

我收到了一个 JSON,我可以使用

php://input
接收它,并且我需要将其发布回不同的 URL,但我不确定如何格式化它。这是我收到它的方式:

> $updates =
> file_get_contents("php://input");

我可以

json_decode
它然后解析出数组,以便它适合正常的类似 POST 的请求,例如
hello=world&stack=overflow
等。但是是否可以将 JSON 传递到这样的卷曲帖子中:

    curl_setopt($curl_handle, CURLOPT_POST, 1);
    curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $updates);

然后客户端可以

php://input
再次获取数据吗?我之所以问是因为客户说他没有收到数据,可能是他没有正确设置。我注意到,当您通过命令行执行类似操作时,必须在命令中包含 -H ,以便数据被解释为正常的 POST,也许我需要设置一个 libcurl CURLOPT?

php json post curl
2个回答
2
投票

好吧,伙计们,我已经弄清楚了!

要以不同的内容类型(即 application/json 或 text/xml)发送帖子,请添加此 setopt 调用

curl_setopt($ch, CURLOPT_HTTPHEADERS,数组('内容类型: 应用程序/json'));


0
投票

您也可以使用

curl --silent --request POST --header 'Content-Type: application/json' \
--data $updates \
-k http://URL_to_which_you_want_to_post
© www.soinside.com 2019 - 2024. All rights reserved.