Maison >développement back-end >tutoriel php >Comment CURLOPT_POSTFIELDS gère-t-il les données de chaîne et de tableau dans les requêtes cURL POST ?

Comment CURLOPT_POSTFIELDS gère-t-il les données de chaîne et de tableau dans les requêtes cURL POST ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-08 12:27:14554parcourir

How Does CURLOPT_POSTFIELDS Handle String and Array Data in cURL POST Requests?

CURLOPT_POSTFIELDS et format de données POST dans cURL

Lors de l'utilisation de cURL pour les requêtes POST, le format des données à publier via CURLOPT_POSTFIELDS dépend du nature des données.

Chaîne Données :

Si vous envoyez une chaîne, telle que "first=John&last=Smith", vous devez l'encoder à l'aide de urlencode(). Cela empêche les caractères comme les esperluettes (&) d'interférer avec la transmission des données.

Données du tableau :

Pour les données du tableau, cURL définit automatiquement l'en-tête Content-Type sur multipart. /form-data, qui est essentiel pour envoyer des données de formulaire en plusieurs parties. Chaque paire clé-valeur du tableau correspond à un champ de formulaire et à sa valeur.

Par exemple, si vous avez un tableau $data = ['first' => 'Jean', 'dernier' => 'Smith'], vous pouvez définir CURLOPT_POSTFIELDS comme suit :

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

cURL générera automatiquement l'encodage des données du formulaire en plusieurs parties nécessaire.

Fonction d'assistance :

Vous pouvez simplifier le processus de création de la chaîne de requête pour les données du tableau en utilisant http_build_query() fonction :

$query = http_build_query($data, '', '&');
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn