内容类型应用程序/json 不返回 POST 字段



我正在提出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'((;

希望,它将对您有用。

最新更新