【问题标题】:Post JSON using Curl使用 Curl 发布 JSON
【发布时间】:2011-03-31 15:47:56
【问题描述】:

我收到一个 JSON,我可以使用 php://input 接收它,我需要将它发布回不同的 URL,但我不确定如何格式化它。这是我收到它的方式:

$更新 = file_get_contents("php://input");

我可以对其进行 json_decode 然后解析出数组,以便它适合普通的类似 POST 的请求,例如 hello=world&stack=overflow 等。但是是否可以将 JSON 传递到这样的 curl 帖子中:

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

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

谢谢!

【问题讨论】:

    标签: php json post curl


    【解决方案1】:

    你也可以使用

    curl --silent --request POST --header 'Content-Type: application/json' \
    --data $updates \
    -k http://URL_to_which_you_want_to_post
    

    【讨论】:

      【解决方案2】:

      伙计们,我已经想通了!

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

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

      【讨论】:

        猜你喜欢
        • 2011-12-19
        • 2020-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-05-05
        • 2016-08-10
        • 1970-01-01
        相关资源
        最近更新 更多