Requête PHP cURL GET et le corps de la requête
j'essaie utilisation de cURL pour une requête comme ceci:
function connect($id_user){
$ch = curl_init();
$headers = array(
'Accept: application/json',
'Content-Type: application/json',
);
curl_setopt($ch, CURLOPT_URL, $this->service_url.'user/'.$id_user);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
$body = '{}';
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_POSTFIELDS,$body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//Timeout in seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$authToken = curl_exec($ch);
return $authToken;
}
Comme vous voyez que je veux passer $corps comme le body de la requête , mais je ne sais pas s'il est correct ou pas et je ne peux pas déboguer ce fait, savez-vous si le droit d'utiliser le curl_setopt($ch, CURLOPT_POSTFIELDS,$body);
avec une requête GET?
Cause de cette enteire code fonctionne parfaitement avec la POSTE, je suis en train de changer cela pour OBTENIR comme vous pouvez le voir
source d'informationauteur sbaaaang
Vous devez vous connecter pour publier un commentaire.
CURLOPT_POSTFIELDS
comme son nom l'indique, est pour le corps (charge) d'unPOST
demande. PourGET
demandes, la charge utile est la partie de l'URL sous la forme d'une chaîne de requête.Dans votre cas, vous avez besoin pour construire l'URL avec les arguments que vous devez envoyer (le cas échéant), et de supprimer les autres options à friser.
Accepté la réponse est fausse.
GET
demandes peuvent en effet contenir un corps. C'est la solution mis en œuvre par WordPressà titre d'exemple:EDIT: Pour préciser, la première
curl_setopt
n'est pas nécessaire dans ce cas, mais ne fait pas de mal. Il a été inclus pour illustrer pleinement le code de l'exemple référencé.vous l'avez fait correctement en utilisant
mais j'ai remarqué la disparition de votre