Heim Backend-Entwicklung PHP-Tutorial Erstellen von HTTP-Anfragen mit PHP und Guzzle

Erstellen von HTTP-Anfragen mit PHP und Guzzle

Jun 19, 2023 pm 04:00 PM
php http请求 guzzle

Mit der rasanten Entwicklung des Internets sind HTTP-Anfragen zu einem wichtigen Bestandteil verschiedener Webanwendungen geworden. Für PHP-Entwickler ist Guzzle eine sehr empfehlenswerte HTTP-Client-Bibliothek, die uns dabei helfen kann, HTTP-Anfragen zu initiieren, Antworten zu verarbeiten, Sitzungen zu verwalten usw.

Dieser Artikel stellt vor, wie man PHP und Guzzle zum Initiieren von HTTP-Anfragen verwendet, und hilft den Lesern, die Grundprinzipien und die Verwendung von Guzzle besser zu verstehen.

1. Einführung in Guzzle

Guzzle ist eine PHP-Bibliothek, die zum Initiieren von HTTP-Anfragen und zum Verarbeiten von Antworten verwendet wird. Es wurde entwickelt, um eine einfache, elegante API bereitzustellen, die erweiterbar ist und leicht an verschiedene Anforderungen angepasst werden kann. Guzzle unterstützt das HTTP 1.1-Protokoll, um PHP-Entwicklern bei der schnellen Erstellung von API-Clients und Webdiensten zu helfen.

2. Installieren Sie Guzzle

Verwenden Sie den folgenden Befehl, um Guzzle zu installieren:

composer require guzzlehttp/guzzle
Nach dem Login kopieren

3. Verwenden Sie Guzzle, um eine HTTP-Anfrage zu initiieren

  1. Das Folgende ist Eine einfache Methode zur Verwendung von Guzzle zum Initiieren einer GET-Anfrage. Beispiel:
  2. use GuzzleHttpClient;
    
    $client = new Client();
    
    $response = $client->get('http://httpbin.org/get');
    
    $body = (string) $response->getBody();
    
    print_r(json_decode($body));
    Nach dem Login kopieren
Im obigen Code erstellen wir zunächst eine Client-Instanz von Guzzle und verwenden dann die Methode get, um eine GET-Anfrage zu initiieren Die Anforderungsadresse lautet http://httpbin.org/get</ code> und das Antwortergebnis wird in die Ausgabe im JSON-Format analysiert. <p><ol start="2"></p>Initiieren Sie eine POST-Anfrage<p><code>get 方法发起 GET 请求,请求地址为 http://httpbin.org/get,并将响应结果解析为 JSON 格式输出。

  1. 发起 POST 请求

以下是使用 Guzzle 发起 POST 请求的示例:

use GuzzleHttpClient;

$client = new Client();

$response = $client->post('http://httpbin.org/post', [
    'form_params' => [
        'username' => 'testuser',
        'password' => 'testpassword',
    ]
]);

$body = (string) $response->getBody();

print_r(json_decode($body));
Nach dem Login kopieren

上述代码中,我们使用 post 方法发起 POST 请求,请求地址为 http://httpbin.org/post,并在请求体中添加了 usernamepassword 两个参数,最后将响应结果解析为 JSON 格式输出。

  1. 发起 PUT 请求

以下是使用 Guzzle 发起 PUT 请求的示例:

use GuzzleHttpClient;

$client = new Client();

$response = $client->put('http://httpbin.org/put', [
    'json' => [
        'name' => 'testuser',
        'age' => 18,
    ]
]);

$body = (string) $response->getBody();

print_r(json_decode($body));
Nach dem Login kopieren

上述代码中,我们使用 put 方法发起 PUT 请求,请求地址为 http://httpbin.org/put,并在请求体中添加了一个 JSON 对象 { "name": "testuser", "age": 18 },最后将响应结果解析为 JSON 格式输出。

  1. 发起 DELETE 请求

以下是使用 Guzzle 发起 DELETE 请求的示例:

use GuzzleHttpClient;

$client = new Client();

$response = $client->delete('http://httpbin.org/delete');

$body = (string) $response->getBody();

print_r(json_decode($body));
Nach dem Login kopieren

上述代码中,我们使用 delete 方法发起 DELETE 请求,请求地址为 http://httpbin.org/delete,最后将响应结果解析为 JSON 格式输出。

五、处理 Guzzle 响应

Guzzle 的 Response 对象提供了一些方法来获取响应的数据、状态码、响应头等信息。以下是部分示例:

use GuzzleHttpClient;

$client = new Client();

$response = $client->get('http://httpbin.org/get');

// 获取响应体
$body = (string) $response->getBody();

// 获取响应状态码
$statusCode = $response->getStatusCode();

// 获取响应原因短语
$reasonPhrase = $response->getReasonPhrase();

// 获取响应头
$headers = $response->getHeaders();

// 获取响应内容类型
$contentType = $response->getHeaderLine('Content-Type');
Nach dem Login kopieren

六、使用 Guzzle 管理会话

Guzzle 提供了一个 CookieJar 类,可以对会话中的 Cookie 进行管理,以下是一个示例:

use GuzzleHttpClient;
use GuzzleHttpCookieCookieJar;

$client = new Client([
    'cookies' => true,
]);

$cookieJar = new CookieJar();

$client->get('http://httpbin.org/cookies/set', [
    'query' => [
        'name' => 'testcookie',
        'value' => 'testvalue',
    ],
    'cookies' => $cookieJar,
]);

$client->get('http://httpbin.org/cookies', [
    'cookies' => $cookieJar,
]);

print_r($cookieJar->toArray());
Nach dem Login kopieren

上述代码中,我们使用 $client 创建了一个 Guzzle 的 Client 实例,并在构造函数中启用了 Cookie 自动管理功能,然后通过创建一个 CookieJar 实例来管理 Cookie。接下来,我们使用 $client 发起两次 GET 请求,第一次请求将 Cookie testcookie 的值设置为 testvalue

Das Folgende ist ein Beispiel für die Verwendung von Guzzle zum Initiieren einer POST-Anfrage:

rrreee

Im obigen Code verwenden wir den post Methode zum Initiieren einer POST-Anfrage, die Anfrageadresse lautet http://httpbin.org/post und die beiden Parameter username und password werden hinzugefügt zum Anforderungstext hinzugefügt, und schließlich wird das Antwortergebnis in die Ausgabe im JSON-Format analysiert.

    Initiieren Sie eine PUT-Anfrage🎜🎜🎜Das Folgende ist ein Beispiel für die Verwendung von Guzzle zum Initiieren einer PUT-Anfrage: 🎜rrreee🎜Im obigen Code verwenden wir den put Methode zum Initiieren einer PUT-Anfrage, die Anfrageadresse lautet http://httpbin.org/put und fügt ein JSON-Objekt hinzu { "name": "testuser", "age": 18 } im Anfragetext und analysieren Sie schließlich das Antwortergebnis zur Ausgabe in das JSON-Format. 🎜
      🎜Initiieren Sie eine DELETE-Anfrage🎜🎜🎜Das Folgende ist ein Beispiel für die Verwendung von Guzzle zum Initiieren einer DELETE-Anfrage: 🎜rrreee🎜Im obigen Code verwenden wir den delete Methode zum Initiieren einer DELETE-Anfrage, die Anfrageadresse lautet http://httpbin.org/delete und analysiert schließlich das Antwortergebnis in die Ausgabe im JSON-Format. 🎜🎜5. Guzzle-Antwort verarbeiten🎜🎜Das Response-Objekt von Guzzle bietet einige Methoden zum Abrufen von Antwortdaten, Statuscode, Antwortheadern und anderen Informationen. Im Folgenden finden Sie einige Beispiele: 🎜rrreee🎜 6. Verwenden Sie Guzzle, um Sitzungen zu verwalten. 🎜🎜Guzzle stellt eine CookieJar-Klasse bereit, die Cookies in der Sitzung verwalten kann. Das Folgende ist ein Beispiel: 🎜rrreee🎜Im obigen Code verwenden wir $ client erstellt eine Client-Instanz von Guzzle, aktiviert die automatische Cookie-Verwaltungsfunktion im Konstruktor und verwaltet Cookies dann durch Erstellen einer CookieJar-Instanz. Als nächstes verwenden wir $client, um zwei GET-Anfragen zu initiieren. Die erste Anfrage setzt den Wert von Cookie testcookie auf testvalue und die zweite Anfrage legt ihn fest der Wert von Cookie testcookie zu testvalue Anfragen zum Abrufen und Ausgeben von Cookie-Informationen. 🎜🎜7. Zusammenfassung🎜🎜Guzzle ist eine sehr leistungsstarke HTTP-Client-Bibliothek, die PHP-Entwicklern dabei helfen kann, schnell und einfach HTTP-Anfragen zu initiieren, Antworten zu verarbeiten und Sitzungen zu verwalten. Durch das Studium der in diesem Artikel vorgestellten Methoden glaube ich, dass die Leser ein vorläufiges Verständnis der Grundprinzipien und der Verwendung von Guzzle haben, das in tatsächlichen Projekten angewendet und erweitert werden kann. 🎜

Das obige ist der detaillierte Inhalt vonErstellen von HTTP-Anfragen mit PHP und Guzzle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.

CakePHP-Protokollierung CakePHP-Protokollierung Sep 10, 2024 pm 05:26 PM

Die Anmeldung bei CakePHP ist eine sehr einfache Aufgabe. Sie müssen nur eine Funktion verwenden. Sie können Fehler, Ausnahmen, Benutzeraktivitäten und von Benutzern durchgeführte Aktionen für jeden Hintergrundprozess wie Cronjob protokollieren. Das Protokollieren von Daten in CakePHP ist einfach. Die Funktion log() wird bereitgestellt

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

See all articles