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

PHPz
Libérer: 2023-06-25 10:50:01
original
1795 Les gens l'ont consulté

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
Copier après la connexion

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

sudo yum install php-curl
Copier après la connexion

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

php -i | grep -i curl
Copier après la connexion

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
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!