Post对象通过CURL使用PHP


Post object via CURL using PHP

我们正在尝试发送到一个rest API端点,该端点需要在其中一个键中使用" post对象"。在javascript/jquery中,这工作得很好。但是,在PHP中使用CURL,端点不会接收这里的对象(称为"components"):

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
    curl_setopt($ch, CURLOPT_URL, 'http://api.sitesitesite.com');
    $comps = array('slug' => "xyz",
                   'visble' => 1,
                   'color' => "xyz",
                   'shape' => "xyz",
                   'version' => "2",
            );
    $post_args = array();
    $post_args['components'] = $comps;
    $post_args['id'] = $id;
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_args);
    $result = curl_exec($ch);
    $http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

删除"CURLOPT_CUSTOMREQUEST",使用"CURLOPT_POST"

curl_setopt($ch, CURLOPT_POST, true);