[RESOLU] php envoyer requête post à une api reste

Eléphant du PHP | 385 Messages

02 juin 2017, 14:22

Bonjour à tous,

Je voudrais savoir comment je peux envoyer une requête à une api de la forme 'api/lot.{format}' en post. J'ai essayé

Code : Tout sélectionner

$response = file_get_contents(url);
j'ai l'erreur

Code : Tout sélectionner

failed to open stream: HTTP request failed! HTTP/1.0 406 Not Acceptable in C:\wamp64\www\sendDataToApi.php on line 2
je ne comprend pas le message d'erreur.

Merci de votre aide.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 juin 2017, 14:45

Bonjour,

file_get_content() fait une requête GET et non une requête POST (comme son nom l'indique d'ailleurs ;) )
Pour faire une requête POST, il faut que tu utilises CURL : http://php.net/manual/en/function.curl-exec.php

Toutefois, comme développer une requête CURL from scratch est pas toujours évident, ma recommandation est que tu installes l'extension POSTMAN pour Chrome, cette extension te permettra de tester tes requêtes avec les paramètres que tu veux.
Et une fois qu'elles marcheront tu as juste à cliquer sur le lien "code" pour que Postman te les exportes directement prêt à l'emploi en PHP+CURL
https://chrome.google.com/webstore/deta ... bncdddomop
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 385 Messages

02 juin 2017, 15:55

Merci,

J'ai finalement juste fait un formulaire en post avec les paramètres en input.