Жрать HTTP-добавить заголовок авторизации прямо в запрос
Кто-нибудь может объяснить, как добавить заголовок авторизации в Guzzle? Я вижу, что приведенный ниже код работает для добавления имени пользователя и пароля, но в моем случае я просто хочу добавить сам заголовок авторизации
$client->request('GET', '/get', ['auth' => ['username', 'password']
Основной заголовок авторизации, который я хочу добавить в свой запрос GET: -
Basic aGdkZQ1vOjBmNmFmYzdhMjhiMjcwZmE4YjEwOTQwMjc2NGQ3NDgxM2JhMjJkZjZlM2JlMzU5MTVlNGRkMTVlMGJlMWFiYmI=
4 ответа:
Судя по всему, вы пытаетесь использовать ключ API. Чтобы получить желаемый эффект, просто введите
null
в качестве имени пользователя, как показано ниже.$client->request( $method, $url, [ 'auth' = [ null, $api_key ], ] );
Я не знаю, как я пропустил чтение, Что вы искали основной заголовок auth, но тем не менее надеюсь, что это немного поможет. Если вы просто хотите добавить заголовок авторизации, это должно быть довольно легко.
// Set various headers on a request $client->request('GET', '/get', [ 'headers' => [ 'Authorization' => 'PUT WHATEVER YOU WANT HERE' ] ]);
Я строю свой запрос в жрать кусок за куском, так что я использую следующее:
$client = new GuzzleHttp\Client(); $request = $client->createRequest('GET', '/get'); $request->addHeader('X-Authorization', 'OAuth realm=<OAUTH STUFF HERE>'); $resp = $client->send($request);
Надеюсь, что помогает. Кроме того, не забудьте включить версию библиотек, которые вы используете в будущем, поскольку синтаксис изменяется в зависимости от вашей версии.
Я использую Guzzle 6. Если вы хотите использовать основную схему Auth:
$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();
Это создает авторизованного клиента и отправляет запрос get вместе с требуемыми парами