Wie verwende ich den HTTP-Client von Laravel, um externe APIs zu nutzen?
Oct 14, 2025 am 12:39 AMDer HTTP-Client von Laravel vereinfacht API-Anfragen mit einer flüssigen Schnittstelle. 1. Verwenden Sie Http::get($url) für GET-Anfragen und json() zum Dekodieren von Antworten. 2. Senden Sie POST-Daten mit Http::post($url, $data), wodurch automatisch JSON gesendet wird. 3. Passen Sie Anforderungen mithilfe von withHeaders(), withToken(), timeout() und Abfrageparametern an. 4. überprüfen Sie den Antwortstatus mit success(), failed() oder verwenden Sie throw(), um HTTP-Fehler zu behandeln.
Der in Laravel 7 eingeführte HTTP-Client von Laravel bietet eine saubere und flüssige API für ausgehende HTTP-Anfragen an externe Dienste. Es basiert auf Guzzle und vereinfacht die Nutzung von RESTful-APIs, ohne dass zus?tzliche Pakete installiert werden müssen.
1. Stellen Sie grundlegende GET-Anfragen
Um Daten von einer externen API abzurufen, verwenden Sie die get- Methode. Sie k?nnen die URL direkt übergeben und den Antworttext oder JSON-Inhalt abrufen.
- Verwenden Sie Http::get($url) , um eine GET-Anfrage zu senden.
- Rufen Sie json() auf, um die Antwort als Array zu dekodieren, oder body() für Rohinhalte.
Beispiel:
verwenden Sie Illuminate\Support\Facades\Http; $response = Http::get('https://jsonplaceholder.typicode.com/posts/1'); // Dekodiertes JSON abrufen $data = $response->json(); // Oder rohen K?rper bekommen $body = $response->body();
2. Senden Sie Daten mit POST und anderen Methoden
Um Ressourcen zu erstellen oder Daten zu senden, verwenden Sie post , put oder andere HTTP-Verben. übergeben Sie ein Array als zweiten Parameter, um Formulardaten oder JSON-Nutzdaten zu senden.
- Http::post($url, $data) sendet standardm??ig JSON.
- Die Daten werden automatisch in JSON konvertiert und der Content-Type-Header wird festgelegt.
Beispiel:
$response = Http::post('https://jsonplaceholder.typicode.com/posts', [ 'title' => 'Mein Beitrag', 'body' => 'Inhalt hier', 'userId' => 1 ]); if ($response->successful()) { $createdPost = $response->json(); }
3. Fügen Sie Header, Abfrageparameter und Optionen hinzu
Sie k?nnen Anforderungen mithilfe verketteter Methoden anpassen. Zu den allgemeinen Anforderungen geh?ren das Festlegen von Headern, das Hinzufügen von Abfragezeichenfolgen oder das Konfigurieren von Zeitüberschreitungen.
- Verwenden Sie withHeaders() , um benutzerdefinierte Header hinzuzufügen (z. B. Autorisierung).
- Verwenden Sie withToken() für Bearer-Tokens.
- H?ngen Sie timeout() an, um h?ngende Anforderungen zu vermeiden.
- Fügen Sie Abfrageparameter mithilfe der Array-Syntax in der URL oder über withOptions() hinzu.
Beispiel mit Authentifizierung:
$response = Http::withToken('your-api-token') ->timeout(10) ->withHeaders([ 'X-Requested-With' => 'Laravel' ]) ->get('https://api.example.com/user');
4. Behandeln Sie Fehler und Antworten
überprüfen Sie immer, ob die Anfrage erfolgreich war, bevor Sie das Ergebnis verarbeiten. Der HTTP-Client von Laravel l?st Ausnahmen nur aus, wenn die zugrunde liegende Anfrage fehlschl?gt (z. B. bei Netzwerkfehlern), nicht bei 4xx- oder 5xx-Antworten.
- Verwenden Sie success() , um den 2xx-Status zu überprüfen.
- Verwenden Sie failed() oder serverError() für bedingte Logik.
- Rufen Sie throw() auf, um eine Ausnahme auszul?sen, wenn die Antwort 4xx oder 5xx ist.
Beispielhafte Fehlerbehandlung:
$response = Http::post('https://api.example.com/data', $data); if ($response->successful()) { return $response->json(); } if ($response->clientError()) { // 4xx-Fehler protokollieren } if ($response->serverError()) { // Handle 5xx } // Oder bei 4xx/5xx automatisch eine Ausnahme ausl?sen $response->throw()->json();
Verketten Sie einfach Ihre Optionen, senden Sie die Anfrage und verarbeiten Sie die Antwort dann sicher. Der HTTP-Client von Laravel h?lt es einfach und lesbar.
Das obige ist der detaillierte Inhalt vonWie verwende ich den HTTP-Client von Laravel, um externe APIs zu nutzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

LaravelusesmonologtologMessagesViathelogfacade, withefaultLogStoredInstorage/logs/laravel.log.configurechannelsinconfig/logging.phptocontroloutput; thedefaultStackchannelaggatesMulthandleSlerslikesingle: WARNSLIKSLE:

InstalllaravelsanctumviaComposerandpublishitsFiles, thenrunmigrations.2.addthehasapitokenStHeTotheumodel..Definelogin, logout, andusereRroutesinapi.php, ussingtum'uth: santummiddleware

Der Laravel Resource Controller verarbeitet CRUD -Operationen schnell durch Rastful Routing, verwendet den Befehl Artisan, um Controller zu generieren und Ressourcenrouten zu registrieren, und kann alle Standardrouten in einer einzelnen Codezeile erstellen, die die Einschr?nkung von Aktionen unterstützt, die Middleware -Marke hinzufügt und die Benennung von Middleware -Benutzern und Maschinenverkehrsmodell -Bindung automatisch analysieren, die Entwicklung der Entwicklungswirkungsstrukturen verbessert und die Codestruktur speichern.

Verwenden Sie die Funktion "Redirect () Helfer, um die Umleitung im Laravel-Controller zu realisieren, wie z. Es wird empfohlen, benannte Routen zu verwenden, um die Wartbarkeit zu verbessern.

ToimplementapiauthenticationWithlaravelsanktum, youEeedtoSetuptoken-basierte authentifizierungsthatallowsspas, MobileApps und THERRT-PARTYSVICESTOSELEY Accessyourapi.SanktumProvidesalightweigroachByissuingapitokenthatcan

Verwenden Sie die DB -Fassade, um native SQL auszuführen, DB :: SELECT, DB :: Einfügen, db :: update oder db :: L?schen gem?? dem Abfragetyp und verwenden Sie die Parameterbindung, um die SQL -Injektion zu verhindern. DB :: Unvorbereitet kann für strukturelle Ver?nderungen verwendet werden. In Kombination mit db :: rohen k?nnen native Ausdrücke in den Abfragekonstruktor eingebettet werden.

Die Parameterbindung unter Verwendung von Eloquentorm oder QueryBuilder kann die SQL -Injektion verhindern. 2. Bei Verwendung von WHERERAW und anderen Methoden sollte die Benutzereingabe durch Parameterbindung sicher verarbeitet werden. 3. Verwenden Sie immer die überprüfungsfunktion von Laravel, um die Eingabe zu überprüfen und zu filtern. 4. Versuchen Sie, Rohfragen zu vermeiden, und stellen Sie bei Bedarf die Parameter fest. 5. Priorit?t wird der Verwendung von Routing -Modellbindung zur Reduzierung der manuellen Abfragen gegeben. Solange Sie die Benutzereingabe nicht direkt in SQL -Anweisungen eingeben und die Sicherheitspraktiken von Laravel befolgen, k?nnen SQL -Injektionsangriffe effektiv verhindert werden.

Createa.blade.phpfileTheresources/viewsDirectory, suchasresources/home.blade.php, usehtmlandBladesyntax.2.ReturnTheviewfromarouteinroutes/web.phpwithview ('home', ['name' name '
