Quelqu'un peut-il expliquer comment ajouter l'en-tête d'autorisation dans Guzzle? Je peux voir que le code ci-dessous fonctionne pour ajouter le nom d'utilisateur et le mot de passe, mais dans mon cas, je veux juste ajouter l'en-tête d'autorisation
$client->request('GET', '/get', ['auth' => ['username', 'password']
L'en-tête d'autorisation de base que je souhaite ajouter à ma demande GET: -
Basic aGdkZQ1vOjBmNmFmYzdhMjhiMjcwZmE4YjEwOTQwMjc2NGQ3NDgxM2JhMjJkZjZlM2JlMzU5MTVlNGRkMTVlMGJlMWFiYmI=
En apparence, vous essayez d'utiliser une clé API. Pour obtenir l'effet souhaité, il vous suffit de passer null
comme nom d'utilisateur, comme ci-dessous.
$client->request(
$method,
$url,
[
'auth' = [
null,
$api_key
],
]
);
Je ne sais pas comment j'ai raté de lire que vous cherchiez l'en-tête d'authentification de base, mais j'espère néanmoins que cela aidera un peu. Si vous souhaitez simplement ajouter l'en-tête Authorization, cela devrait être assez facile.
// Set various headers on a request
$client->request('GET', '/get', [
'headers' => [
'Authorization' => 'PUT WHATEVER YOU WANT HERE'
]
]);
J'accumule ma demande dans Guzzle pièce par pièce. J'utilise donc les éléments suivants:
$client = new GuzzleHttp\Client();
$request = $client->createRequest('GET', '/get');
$request->addHeader('X-Authorization', 'OAuth realm=<OAUTH STUFF HERE>');
$resp = $client->send($request);
J'espère que cela pourra aider. Assurez-vous également d'inclure la version des bibliothèques que vous utiliserez à l'avenir, car la syntaxe change en fonction de votre version.
J'utilise Guzzle 6. Si vous souhaitez utiliser le schéma d'authentification de base:
$client = new Client();
$credentials = base64_encode('username:password');
$response = $client->get('url',
[
'headers' => [
'Authorization' => 'Basic ' . $credentials,
],
]);
use GuzzleHttp\Client;
...
$client = new Client(['auth' => [$username, $password]]);
$res = $client->request('GET', 'url', ['query' => ['param1'=>$p1, 'param2'=>'sometext']]);
$res->getStatusCode();
$response = $res->getBody();
Cela crée un client autorisé et envoie une requête get avec les paramètres souhaités.