Heim > Backend-Entwicklung > PHP-Tutorial > Wie greife ich auf den Antworttext in Guzzle HTTP v6 zu, um API-Tokens abzurufen?

Wie greife ich auf den Antworttext in Guzzle HTTP v6 zu, um API-Tokens abzurufen?

Mary-Kate Olsen
Freigeben: 2024-12-02 03:17:13
Original
692 Leute haben es durchsucht

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

Wie Guzzle HTTP den Zugriff auf den Antworttext in Version 6 ermöglicht

API-Tokens mit PHP abrufen

Das ist Ihr Ziel Erstellen Sie einen Wrapper für die API Ihres Unternehmens. Um sich bei der API zu authentifizieren, müssen Sie Token aus dem Antworttext von POST-Anfragen extrahieren. Bei Verwendung der beliebten Guzzle-Bibliothek stoßen Sie auf Schwierigkeiten beim Zugriff auf das Token innerhalb des Guzzle-Antwortobjekts.

Guzzle PSR-7-Implementierung

Guzzle hält sich an PSR-7 Standard, der Stream-Wrapper für Antworttexte verwendet. Diese Stream-Wrapper, die mithilfe temporärer PHP-Streams implementiert werden, speichern die Antworttextdaten.

Zugriff auf den Antworttext

Um den vollständigen Antworttext zu erhalten, können Sie das String-Casting von PHP nutzen Operator:

$contents = (string) $response->getBody();
Nach dem Login kopieren

Alternativ kann die getContents()-Methode des Streams verwendet werden verwendet:

$contents = $response->getBody()->getContents();
Nach dem Login kopieren

Der Hauptunterschied zwischen diesen Ansätzen liegt im Verhalten von getContents(), das den restlichen Inhalt erst nach dem ersten Aufruf zurückgibt. Nachfolgende Aufrufe geben eine leere Zeichenfolge zurück, es sei denn, die Stream-Position wird mit rewind() oder see() angepasst.

Beispielcode

 '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'];
Nach dem Login kopieren

Sobald das Token erhalten wurde , können Sie es für die API-Authentifizierung verwenden.

Das obige ist der detaillierte Inhalt vonWie greife ich auf den Antworttext in Guzzle HTTP v6 zu, um API-Tokens abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage