Fiche technique | |
---|---|
Prérequis : | PHP 5.5.0+, cURL 7.19.4+, OpenSSL, zlib |
Auteur : | Michael Dowling |
Catégorie : | Client HTTP |
Introduction
La bibliothèque Guzzle est un client HTTP pour PHP facilitant l'envoi de requêtes HTTP et de services Web. Il propose les caractéristiques suivantes :
- Un interface simple permettant de créer des chaînes de caractères de requête, des requêtes POST, de diffuser des transferts volumineux, des flux de données de téléchargement volumineux, d'utiliser des Cookies de HTTP, de télécharger des données JSON,...
- Permet d'envoyer des requêtes synchronisées et désynchronisées en utilisant la même interface.
- Utilise les interfaces PSR-7 pour les demandes, les réponses et les flux de données. Il vous permet d'utiliser d'autres bibliothèques compatibles avec PSR-7 avec Guzzle.
- Il propose une couche abstraite de transport HTTP sous-jacent, lui permettant d'écrire du code indépendant de l'environnement et du transport, c'est-à-dire qu'il n'y a pas de dépendance forte à cURL, aux flux de données php, aux sockets ou aux boucles d'événements non bloquantes.
- Le système Middleware vous permet d'augmenter et de composer le comportement du client.
Installation
Il est recommandé d'installer Guzzle avec l'outil Composer. On utilisera la commande suivante pour installer Guzzle :
curl -sS https://getcomposer.org/installer | php |
On peut ajouter Guzzle aux dépendances en utilisant le CLI de «composer.phar» de la façon suivante :
php composer.phar require guzzlehttp/guzzle |
Enfin, on ajoute le code PHP suivant dans le démarreur automatique :
require 'vendor/autoload.php';
Liste des options de requêtes
Nom | Description |
---|---|
allow_redirects | Cette option de requête permet de décrire le comportement de redirection pour une requête. |
auth | Cette option de requête permet de passer un tableau de paramètres d'authentification HTTP à utiliser avec la demande. |
body | Cette option de requête permet de contrôler le corps d'une requête englobant une entité (par exemple, PUT, POST, PATCH). |
cert | Cette option de requête permet de définir une chaîne de caractères pour spécifier le chemin d'accès à un fichier contenant un certificat côté client au format PEM. Si un mot de passe est requis, définissez un tableau contenant le chemin d'accès au fichier PEM dans le premier élément du tableau, suivi du mot de passe requis pour le certificat dans le deuxième élément du tableau. |
cookies | Cette option de requête permet d'indiquer si les cookies sont utilisés ou non dans une demande ou quel fichier de cookie utiliser ou quels cookies envoyer. |
connect_timeout | Cette option de requête permet d'indiquer le flot décrivant le nombre de secondes à attendre pour tenter de se connecter à un serveur. Utilisez 0 pour attendre indéfiniment. C'est la valeur par défaut. |
debug | Cette option de requête permet de définir sur true ou définir un flux de données PHP renvoyé par fopen() pour activer la sortie de débogage avec le gestionnaire utilisé pour envoyer une demande. |
decode_content | Cette option de requête permet de définir si les réponses de codage de contenu (gzip, deflate,...) sont automatiquement décodées. |
delay | Cette option de requête permet d'indiquer le nombre de millisecondes à attendre avant d'envoyer la demande. |
expect | Cette option de requête permet de contrôler le comportement de l'en-tête «Expect: 100-Continue». |
force_ip_resolve | Cette option de requête permet de régler sur «v4» si vous souhaitez que les gestionnaires HTTP utilisent uniquement le protocole IPv4 ou «v6» pour le protocole IPv6. |
form_params | Cette option de requête permet d'envoyer une demande POST «application/x-www-form-urlencoded». |
headers | Cette option de requête permet d'ajouter un tableau associatif d'entêtes à la demande. Chaque clef est le nom d'un entête et chaque valeur est une chaîne de caractères ou un tableau de chaînes représentant les valeurs du champ d'entête. |
http_errors | Cette option de requête permet de définir la valeur sur «false» pour désactiver le lancement d'exceptions sur les erreurs de protocole HTTP (soit des réponses 4xx et 5xx). Les exceptions sont levées par défaut lorsque des erreurs de protocole HTTP sont rencontrées. |
json | Cette option de requête permet d'indiquer de télécharger facilement des données codées en json en tant que corps d'une requête. Un entête «Content-Type» avec la valeur «application/json» sera ajouté si aucun entête «Content-Type» n'est déjà présent dans le message. |
... | ... |
Liste des versions
Version | Paquet | Espace de nom | Dépôt | Docs | PSR-7 | Version PHP |
---|---|---|---|---|---|---|
3.x | guzzle/guzzle | Guzzle | v3 | v3 | Non | 5.3.3+ |
4.x | guzzlehttp/guzzle | GuzzleHttp | v4 | Non disponible | Non | 5.4+ |
5.x | guzzlehttp/guzzle | GuzzleHttp | v5 | v5 | Non | 5.4+ |
6.x | guzzlehttp/guzzle | GuzzleHttp | v6 | v6 | Oui | 5.5+ |
Dernière mise à jour : Mardi, le 5 mars 2019