Gestion des données POST avec CURLOPT_POSTFIELDS
Lors de l'utilisation de curl pour les requêtes POST, la fourniture de données via CURLOPT_POSTFIELDS nécessite une attention particulière à son format. Pour les paramètres de chaîne simples, le codage URL est nécessaire. Par exemple, pour publier deux champs « premier » et « dernier » avec les valeurs « John » et « Smith », la chaîne de données serait :
first=John&last=Smith
Dans l'extrait de code curl suivant :
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $reply = curl_exec($ch); curl_close($ch);
Il est important de s'assurer que $data est soit une chaîne codée en URL pour des paramètres simples, soit un tableau associatif pour des données complexes. Pour les tableaux, curl définit automatiquement l'en-tête Content-Type sur multipart/form-data.
Si les données sont un tableau, vous pouvez utiliser http_build_query() pour générer la chaîne de requête :
$query = http_build_query($data, '', '&');
En respectant ces directives de formatage, vous pouvez soumettre efficacement des données via des requêtes POST à l'aide de CURLOPT_POSTFIELDS de curl.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!