How to Use Default HTTP Client in Laravel 7+
Good news…! Laravel 7 has a new HTTP client. It uses guzzlehttp/guzzle
dependency & Laravel 7 automatically include this package.
Table of Contents
Basic Usage
Here’s the basic usage of the new HTTP client:
use Illuminate\Support\Facades\Http;
public function index() {
// send request
$response = Http::get('https://reqres.in/api/users');
// get the response as JSON
$dataJSON = $response->json();
dd($dataJSON);
}
It supports get
, post
, put
, patch
, and delete
methods.
Error Handling
We’re able to handle errors if anything bad happened during the response. Here are the responses:
$response->body() : string;
$response->json() : array;
$response->status() : int;
$response->ok() : bool;
$response->successful() : bool;
$response->serverError() : bool;
$response->clientError() : bool;
$response->header($header) : string;
$response->headers() : array;
POST Request
Let’s see an example of post request:
$response = Http::post('https://reqres.in/api/users', [
'name' => 'Obydul',
'password' => '123456',
]);
$dataJSON = $response->json();
dd($dataJSON);
Pass Headers
We can easily pass headers using this HTTP client:
$response = Http::withHeaders([
'X-First' => 'foo',
'X-Second' => 'bar'
])->post('https://reqres.in/api/users', [
'name' => 'Obydul',
]);
Learn More
There are more features of the new Laravel HTTP client. We can pass Multi-Part Requests, Authentication etc. too. Read Laravel 7 HTTP Client Documentation to know more about their new HTTP client.
That’s all. Thank you. 🙂
Md Obydullah
Software Engineer | Ethical Hacker & Cybersecurity...
Md Obydullah is a software engineer and full stack developer specialist at Laravel, Django, Vue.js, Node.js, Android, Linux Server, and Ethichal Hacking.