繁体   English   中英

内容类型application / json不返回POST字段

[英]Content-Type application/json doesn't return POST fields

我正在向服务器上的文件发出cURL请求,并且正在打印空数组,除非我从请求中删除Content-Type:application / json标头。 为什么会发生? 它应该期望返回json格式....

$o = [ 'key' => 'value123' ];

        $headers[]  = 'Content-Type: application/json';
        $headers[]  = 'Moj-pierwszy-header: prosty/do/zapamietania';


        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_URL, $path.'test.php');
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $o);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch); 
        curl_close($ch);      



        echo( $output );

和test.php

echo json_encode( $_POST );

任何人? 有任何想法吗?

请参考以下代码段:

     $o = json_encode([ 'key' => 'value123' ]);

     $headers[]  = 'Content-Type: application/json';
     $headers[]  = 'Moj-pierwszy-header: prosty/do/zapamietania';


    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $path.'test.php');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $o);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $output = curl_exec($ch); 
    curl_close($ch); 

    echo( $output );

对于输出,而不是$ _POST使用下面的代码片段:

$ post = json_decode(file_get_contents('php:// input'));

希望对您有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM