Maison > développement back-end > tutoriel php > Comment formater correctement CURLOPT_POSTFIELDS dans les requêtes cURL POST ?

Comment formater correctement CURLOPT_POSTFIELDS dans les requêtes cURL POST ?

Linda Hamilton
Libérer: 2024-12-25 07:08:09
original
902 Les gens l'ont consulté

How to Properly Format CURLOPT_POSTFIELDS in cURL POST Requests?

CURLOPT_POSTFIELDS dans Curl pour les requêtes POST

Lors de l'utilisation de curl pour effectuer une requête POST et de la spécification de l'option CURLOPT_POSTFIELDS, il est crucial de prendre en compte le format approprié. Par exemple, envisagez de publier deux champs, "premier" et "dernier" :

"first=John&last=Smith"

Formatage de chaîne

Si En envoyant une chaîne en tant que données POST, elle doit être codée en URL pour garantir un codage de caractères correct. Le code suivant le démontre :

$data = urlencode("first=John&last=Smith");
Copier après la connexion

Formatage du tableau

Cependant, si les données POST sont un tableau, elles doivent suivre la "clé => valeur" format :

$data = [
    'first' => 'John',
    'last' => 'Smith'
];
Copier après la connexion

Dans ce cas, curl définira automatiquement l'en-tête Content-Type sur "multipart/form-data".

En-tête Content-Type

La définition explicite de l'en-tête Content-Type est recommandée pour une meilleure compatibilité. Par exemple, pour le définir sur "application/json":

curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
Copier après la connexion

Utilisation de http_build_query()

Alternativement, au lieu de créer manuellement la chaîne de requête, http_build_query de PHP () peut être utilisée :

$query = http_build_query($data, '', '&');
curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
Copier après la connexion

Cette fonction gère le codage URL et le bon clé = formatage de valeur de manière transparente.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal