📅  最后修改于: 2023-12-03 14:43:44.151000             🧑  作者: Mango
在 Laravel 6 中,可以用 Illuminate\Support\Facades\Http
来发出 HTTP 请求,包括 GET、POST、PUT、PATCH、DELETE 等请求。下面我们来一步步介绍如何使用。
在 Laravel 6 中,默认是没有安装 http-client
的包的,需要自己手动安装。安装方法:
composer require guzzlehttp/guzzle
$response = Http::get('http://example.com');
$body = $response->body();
注意:body()
方法返回的是字符串,需要根据实际情况进行解析。如果需要解析 JSON 内容,可以使用 json()
方法:
$response = Http::get('http://example.com/api/users');
$data = $response->json();
$response = Http::post('http://example.com/api/users', [
'name' => 'John Doe',
'email' => 'john@example.com',
]);
$response = Http::put('http://example.com/api/users/1', [
'name' => 'John Doe',
'email' => 'john@example.com',
]);
$response = Http::patch('http://example.com/api/users/1', [
'name' => 'John Doe',
]);
$response = Http::delete('http://example.com/api/users/1');
可以通过 withHeaders()
和 withBody()
方法分别设置请求头和请求体:
$response = Http::withHeaders([
'User-Agent' => 'My App',
])->withBody('hello world', 'text/plain')->post('http://example.com/api/hello');
可以使用 attach()
方法来发送带文件的请求:
$response = Http::attach(
'photo', file_get_contents('photo.jpg'), 'photo.jpg'
)->post('http://example.com/api/photo');
以上就是 Laravel 6 发出 HTTP 请求的基本用法,更多详细用法可以查看官方文档。