tutorial meaning how guzzlehttp example auth php rest http guzzle guzzle6

php - meaning - guzzlehttp client example



Guzzle HTTP: agrega el encabezado de autorizaciĆ³n directamente en la solicitud (4)

¿Alguien puede explicar cómo agregar el encabezado de autorización en Guzzle? Puedo ver que el siguiente código funciona para agregar el nombre de usuario y la contraseña, pero en mi instancia solo quiero agregar el encabezado de Autorización

$client->request(''GET'', ''/get'', [''auth'' => [''username'', ''password'']

El encabezado de Autorización básica que quiero agregar a mi solicitud GET:

Basic aGdkZQ1vOjBmNmFmYzdhMjhiMjcwZmE4YjEwOTQwMjc2NGQ3NDgxM2JhMjJkZjZlM2JlMzU5MTVlNGRkMTVlMGJlMWFiYmI=


Desde el punto de vista de las cosas, estás intentando usar una clave API. Para obtener el efecto deseado, simplemente pase el null como nombre de usuario, como se muestra a continuación.

$client->request( $method, $url, [ ''auth'' = [ null, $api_key ], ] );


Estoy usando Guzzle 6. Si desea usar el esquema de autenticación básico:

$client = new Client(); $credentials = base64_encode(''username:password''); $response = $client->get(''url'', [ ''headers'' => [ ''Authorization'' => ''Basic '' . $credentials, ], ]);


No sé cómo extrañé la lectura de que buscaba el encabezado de autenticación Básico, pero espero que esto ayude un poco. Si solo está buscando agregar el encabezado de Autorización, debería ser bastante fácil.

// Set various headers on a request $client->request(''GET'', ''/get'', [ ''headers'' => [ ''Authorization'' => ''PUT WHATEVER YOU WANT HERE'' ] ]);

Construyo mi solicitud en Guzzle pieza por pieza, así que uso lo siguiente:

$client = new GuzzleHttp/Client(); $request = $client->createRequest(''GET'', ''/get''); $request->addHeader(''X-Authorization'', ''OAuth realm=<OAUTH STUFF HERE>''); $resp = $client->send($request);

Espero que ayude. Además, asegúrese de incluir la versión de las bibliotecas que está usando en el futuro como cambios de sintaxis según su versión.


use GuzzleHttp/Client;

...

$client = new Client([''auth'' => [$username, $password]]); $res = $client->request(''GET'', ''url'', [''query'' => [''param1''=>$p1, ''param2''=>''sometext'']]); $res->getStatusCode(); $response = $res->getBody();

Esto crea un cliente autorizado y envía una solicitud de obtención junto con los parámetros deseados