Maison >développement back-end >tutoriel php >Comment puis-je envoyer des données POST à ​​des pages Web à l'aide de cURL ?

Comment puis-je envoyer des données POST à ​​des pages Web à l'aide de cURL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-28 22:25:10643parcourir

How Can I Send POST Data to Web Pages Using cURL?

Transmission de données POST aux pages à l'aide de cURL

cURL est un outil puissant pour effectuer des requêtes HTTP, vous permettant d'interagir avec des pages et des services Web par programmation. Une tâche courante consiste à transmettre les données POST, qui sont utilisées pour soumettre des données aux formulaires. Voici comment y parvenir avec cURL :

Solution :

$data = array('name' => 'Ross', 'php_master' => true);

// You can POST a file by prefixing with an @ (for <input type="file"> fields)
$data['file'] = '@/home/user/world.jpg';

$handle = curl_init($url);
curl_setopt($handle, CURLOPT_POST, true);
curl_setopt($handle, CURLOPT_POSTFIELDS, $data);
curl_exec($handle);
curl_close($handle);

Explication :

  • CURLOPT_POST permet HTTP POST.
  • CURLOPT_POSTFIELDS précise le POST données sous forme de tableau.

Options d'encodage des données :

cURL propose deux options pour encoder les données POST :

  • Sous forme de tableau : Les données sont envoyées sous forme de données multipart/form, ce qui peut ne pas toujours être accepté par le serveur.
  • Sous forme de chaîne codée en URL : Les données sont envoyées sous la forme application/x-www-form-urlencoded, tel qu'utilisé dans les soumissions de formulaires HTML.

Pour encoder sous forme de chaîne, utilisez http_build_query($data) comme valeur pour CURLOPT_POSTFIELDS.

Références :

  • [curl_init](https://www.php.net/manual/en/funct ion.curl-init.php)
  • [curl_setopt](https://www.php.net/manual/en/function.curl-setopt.php)

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