PHP envoi d'une requête POST via curl

J'ai besoin de faire une requête POST à l'externe de l'API http à l'aide de curl. Quand j'ai appeler l'API à l'aide de la boucle de la ligne de commande, il renvoie les données correctes. Cependant, j'ai du mal à obtenir les bonnes données lors de l'appel à partir d'un script php.

Lorsque j'utilise la commande curl depuis le terminal, j'obtiens les données correctes:

curl-i-H "Accept: application/json" -X POST -d "type_category_id=4" http://example.com/api/

Qu'est-ce que le format correct pour l'CURLOPT_POSTFIELDS dans mon curl_setopts() en php?

J'ai essayé le suivant (et échoué):

<?php
$data = "type_category_id=4";

$ch = curl_init('http://example.com/api/');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data))
);

$result = curl_exec($ch);
?>
montrez-nous votre script php
J'ai édité la question avec le code.
curl_setopt($ch, CURLOPT_POST, 1); et déposer les CURLOPT_CUSTOMREQUEST

OriginalL'auteur William Pramana | 2013-12-02