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.
J'ai édité la question avec le code.
curl_setopt($ch, CURLOPT_POST, 1);
et déposer les CURLOPT_CUSTOMREQUESTOriginalL'auteur William Pramana | 2013-12-02
Vous devez vous connecter pour publier un commentaire.
Faire
Accept: application/json
au lieu deContent-Type: application/json
Vous l'avez fait dans la ligne de commande, mais pas dans le script php.
OriginalL'auteur user1588740