Метод withHeaders
Метод withHeaders применяется к экземпляру класса Http и позволяет установить несколько заголовков для HTTP-запроса. Первым параметром передаётся массив с заголовками, где ключом является название заголовка, а значением - его значение. Метод возвращает тот же экземпляр клиента для дальнейшей цепочки вызовов.
Синтаксис
<?php
use Illuminate\Support\Facades\Http;
Http::withHeaders($headers)->get($url);
?>
Пример
Давайте отправим GET-запрос с пользовательскими заголовками:
<?php
use Illuminate\Support\Facades\Http;
$headers = [
'X-Custom-Header' => 'CustomValue',
'Accept' => 'application/json',
];
$res = Http::withHeaders($headers)
->get('https://api.example.com/users');
echo $res->body();
?>
Результат выполнения кода:
{"users":[{"id":1,"name":"User 1"},{"id":2,"name":"User 2"}]}
Пример
Давайте отправим POST-запрос с заголовками авторизации и типа содержимого:
<?php
use Illuminate\Support\Facades\Http;
$headers = [
'Authorization' => 'Bearer token123',
'Content-Type' => 'application/x-www-form-urlencoded',
'X-Request-Id' => 'abc-123-def',
];
$res = Http::withHeaders($headers)
->post('https://api.example.com/posts', [
'title' => 'New Post',
'body' => 'Content of the post',
]);
echo $res->status();
?>
Результат выполнения кода:
"201"
Пример
Давайте объединим несколько методов для установки заголовков и отправки запроса:
<?php
use Illuminate\Support\Facades\Http;
$res = Http::withHeaders([
'Accept' => 'application/json',
'X-API-Key' => 'my-api-key',
])
->withToken('your-auth-token')
->get('https://api.example.com/data');
if ($res->successful()) {
$data = $res->json();
print_r($data);
} else {
echo 'Request failed';
}
?>
Результат выполнения кода:
["data item 1","data item 2","data item 3"]
Смотрите также
-
метод
withToken,
который добавляет Bearer токен к запросу -
метод
withBasicAuth,
который добавляет базовую аутентификацию к запросу -
метод
asJson,
который устанавливает заголовок Accept: application/json -
метод
acceptJson,
который также устанавливает заголовок Accept: application/json