headers

摘要

要添加到请求的报文头的关联数组,每个键名是header的名称,每个键值是一个字符串或包含代表头字段字符串的数组。

类型

array

Defaults

None

常量

GuzzleHttp\RequestOptions::HEADERS

  1. // Set various headers on a request
  2. $client->request('GET', '/get', [
  3. 'headers' => [
  4. 'User-Agent' => 'testing/1.0',
  5. 'Accept' => 'application/json',
  6. 'X-Foo' => ['Bar', 'Baz']
  7. ]
  8. ]);

创建Client的时候头信息可以作为默认选项添加,当头信息使用默认选项时,它们只能在请求没有包含特殊头信息的时候生效, 这包括了Client的 send()sendAsync() 方法,以及Client创建的请求(比如 request()requestAsync())。

  1. $client = new GuzzleHttp\Client(['headers' => ['X-Foo' => 'Bar']]);
  2. // Will send a request with the X-Foo header.
  3. $client->request('GET', '/get');
  4. // Sets the X-Foo header to "test", which prevents the default header
  5. // from being applied.
  6. $client->request('GET', '/get', ['headers' => ['X-Foo' => 'test']);
  7. // Will disable adding in default headers.
  8. $client->request('GET', '/get', ['headers' => null]);
  9. // Will not overwrite the X-Foo header because it is in the message.
  10. use GuzzleHttp\Psr7\Request;
  11. $request = new Request('GET', 'http://foo.com', ['X-Foo' => 'test']);
  12. $client->send($request);
  13. // Will overwrite the X-Foo header with the request option provided in the
  14. // send method.
  15. use GuzzleHttp\Psr7\Request;
  16. $request = new Request('GET', 'http://foo.com', ['X-Foo' => 'test']);
  17. $client->send($request, ['headers' => ['X-Foo' => 'overwrite']]);