Maison > développement back-end > tutoriel php > Comment accéder au corps de réponse dans Guzzle HTTP v6 pour récupérer des jetons API ?

Comment accéder au corps de réponse dans Guzzle HTTP v6 pour récupérer des jetons API ?

Mary-Kate Olsen
Libérer: 2024-12-02 03:17:13
original
678 Les gens l'ont consulté

How Do I Access the Response Body in Guzzle HTTP v6 to Retrieve API Tokens?

Comment Guzzle HTTP permet d'accéder au corps de réponse dans la version 6

Récupération de jetons API avec PHP

Vous souhaitez créez un wrapper pour l'API de votre entreprise. Pour vous authentifier auprès de l'API, vous devez extraire les jetons du corps de réponse des requêtes POST. En utilisant la populaire bibliothèque Guzzle, vous rencontrez des difficultés pour accéder au jeton dans l'objet de réponse Guzzle.

Implémentation de Guzzle PSR-7

Guzzle adhère au PSR-7 standard, qui utilise des wrappers de flux pour les corps de réponse. Ces wrappers de flux, implémentés à l'aide de flux temporaires PHP, stockent les données du corps de la réponse.

Accès au corps de la réponse

Pour obtenir le corps de la réponse complet, vous pouvez utiliser le casting de chaînes de PHP opérateur :

$contents = (string) $response->getBody();
Copier après la connexion

Alternativement, la méthode getContents() du flux peut être used:

$contents = $response->getBody()->getContents();
Copier après la connexion

La principale différence entre ces approches réside dans le comportement de getContents(), qui ne renvoie le contenu restant qu'après le premier appel. Les appels suivants renverront une chaîne vide à moins que la position du flux ne soit ajustée à l'aide de rewind() ou seek().

Exemple de code

 'http://companysub.dev.myapi.com/']);
$response = $client->post('api/v1/auth/', [
    'form_params' => [
        'username' => $user,
        'password' => $password
    ]
]);

// Convert response body to string and decode JSON
$contents = (string) $response->getBody();
$data = json_decode($contents, true);

// Extract token
$token = $data['data']['token'];
Copier après la connexion

Une fois le jeton obtenu , vous pouvez procéder à son utilisation pour l'authentification API.

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