Maison  >  Article  >  développement back-end  >  Comment faire des requêtes réseau à l'aide de la bibliothèque cURL en PHP

Comment faire des requêtes réseau à l'aide de la bibliothèque cURL en PHP

PHPz
PHPzoriginal
2023-06-25 10:46:451775parcourir

Dans le développement Web, nous devons interagir avec d'autres services de temps en temps, comme demander des API, explorer des pages Web, etc. cURL est un outil très puissant qui peut être utilisé pour effectuer des opérations telles que des requêtes HTTP et des téléchargements FTP. En PHP, on peut utiliser la bibliothèque cURL pour faire des requêtes réseau.

Cet article expliquera comment utiliser la bibliothèque cURL pour effectuer des requêtes réseau en PHP.

Installer cURL

Tout d'abord, nous devons installer l'extension cURL sur le serveur. Sous Ubuntu, vous pouvez utiliser la commande suivante pour installer :

sudo apt-get install php-curl

Sous CentOS, vous pouvez utiliser la commande suivante pour installer :

sudo yum install php-curl

Une fois l'installation terminée, vous pouvez utiliser la commande suivante pour vérifier :

php -i | grep -i curl

Si le L'extension cURL est installée avec succès, sortie Les informations suivantes doivent être incluses :

curl
cURL support => enabled
cURL Information => 7.50.1

Envoyer une demande GET

L'envoi d'une demande GET est le moyen le plus simple de demander. En PHP, nous pouvons utiliser la fonction curl_init() pour initialiser, utiliser la fonction curl_setopt() pour définir les paramètres de la requête, et enfin utiliser la fonction curl_exec() pour envoyer la requête. Voici un exemple simple d'envoi d'une requête GET :

$url = 'https://example.com/api/get_data';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

echo $response;

Dans le code ci-dessus, nous définissons d'abord l'URL demandée. Utilisez ensuite la fonction curl_init() pour initialiser une session cURL et transmettre l'URL de la requête en paramètre. Utilisez ensuite la fonction curl_setopt() pour définir le paramètre CURLOPT_RETURNTRANSFER sur true, indiquant que le résultat de la requête doit être renvoyé. Enfin, utilisez la fonction curl_exec() pour envoyer la requête et enregistrez le résultat dans la variable $response. Enfin, utilisez la fonction curl_close() pour fermer la session.

Envoyer une requête POST

Envoyer une requête POST est légèrement plus compliqué que d'envoyer une requête GET. Nous devons utiliser la fonction curl_setopt() pour définir le paramètre CURLOPT_POST sur true et envoyer les données demandées en tant que paramètre CURLOPT_POSTFIELDS. Voici un exemple d'envoi d'une requête POST :

$url = 'https://example.com/api/post_data';
$data = array(
    'name' => 'John',
    'age' => 30,
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$response = curl_exec($ch);
curl_close($ch);

echo $response;

Dans le code ci-dessus, nous définissons d'abord l'URL demandée et les données demandées. Utilisez ensuite la fonction curl_init() pour initialiser une session cURL et transmettre l'URL de la requête en paramètre. Utilisez ensuite la fonction curl_setopt() pour définir le paramètre CURLOPT_RETURNTRANSFER sur true, indiquant que le résultat de la requête doit être renvoyé. Utilisez ensuite la fonction curl_setopt() pour définir le paramètre CURLOPT_POST sur true, ce qui signifie envoyer une requête POST. Enfin, utilisez la fonction curl_setopt() pour définir le paramètre CURLOPT_POSTFIELDS sur les données demandées et utilisez la fonction http_build_query() pour convertir les données en une chaîne codée en URL. Enfin, la fonction curl_exec() est utilisée pour envoyer la requête et le résultat est enregistré dans la variable $response.

Définir les en-têtes de requête

Certaines API nous obligent à définir des en-têtes de requête spécifiques pour une interaction normale. Dans ce cas, nous pouvons utiliser la fonction curl_setopt() pour définir le paramètre CURLOPT_HTTPHEADER afin de définir l'en-tête de la requête. Voici un exemple de définition des en-têtes de requête :

$url = 'https://example.com/api/get_data';
$headers = array(
    'Authorization: Bearer xxxxxxx',
    'Content-Type: application/json',
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);

echo $response;

Dans le code ci-dessus, nous définissons d'abord l'URL demandée et les en-têtes de requête. Utilisez ensuite la fonction curl_init() pour initialiser une session cURL et transmettre l'URL de la requête en paramètre. Utilisez ensuite la fonction curl_setopt() pour définir le paramètre CURLOPT_RETURNTRANSFER sur true, indiquant que le résultat de la requête doit être renvoyé. Utilisez ensuite la fonction curl_setopt() pour définir le paramètre CURLOPT_HTTPHEADER sur l'en-tête de requête défini et transmettez-le dans un tableau. Enfin, la fonction curl_exec() est utilisée pour envoyer la requête et le résultat est enregistré dans la variable $response.

Utiliser un proxy

Parfois, nous devons envoyer des requêtes via un serveur proxy. Dans ce cas, nous pouvons utiliser la fonction curl_setopt() pour définir le paramètre CURLOPT_PROXY afin de définir le serveur proxy. Voici un exemple d'utilisation d'un serveur proxy :

$url = 'https://example.com/api/get_data';
$proxy = 'http://proxy.example.com:8080';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
$response = curl_exec($ch);
curl_close($ch);

echo $response;

Dans le code ci-dessus, nous définissons d'abord l'URL demandée et l'adresse du serveur proxy. Utilisez ensuite la fonction curl_init() pour initialiser une session cURL et transmettre l'URL de la requête en paramètre. Utilisez ensuite la fonction curl_setopt() pour définir le paramètre CURLOPT_RETURNTRANSFER sur true, indiquant que le résultat de la requête doit être renvoyé. Utilisez ensuite la fonction curl_setopt() pour définir le paramètre CURLOPT_PROXY sur l'adresse du serveur proxy. Enfin, la fonction curl_exec() est utilisée pour envoyer la requête et le résultat est enregistré dans la variable $response.

Pour résumer, la bibliothèque cURL est un outil très puissant qui peut être utilisé pour effectuer des opérations telles que des requêtes HTTP. En PHP, nous pouvons utiliser la bibliothèque cURL pour envoyer des requêtes réseau et définir les paramètres de requête pour répondre à différents besoins.

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