2016-03-15 24 views
10

Yetkilendirme Başlığını Guzzle'a nasıl ekleyeceğinizi herkes anlatabilir mi? Ben kullanıcı adı & şifreyi eklemek için işler aşağıdaki kodu görebilirsiniz ama benim durumda ben sadece Yetkilendirme başlığını kendisiGuzzle HTTP - Yetkilendirme üstbilgisini doğrudan istek üzerine ekle

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

Temel Yetkilendirme benim GET isteği eklemek istediğiniz başlık eklemek istiyorum: -

Basic aGdkZQ1vOjBmNmFmYzdhMjhiMjcwZmE4YjEwOTQwMjc2NGQ3NDgxM2JhMjJkZjZlM2JlMzU5MTVlNGRkMTVlMGJlMWFiYmI= 

cevap

5

Bir şeylerin görünümlerinden bir API anahtarı kullanmaya çalışıyorsunuz. İstediğiniz efekti elde etmek için null'u aşağıdaki gibi bir kullanıcı adı olarak iletmeniz yeterlidir.

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

Seni Temel kimlik doğrulama başlığındaki aradığını okuma cevapsız biliyorum, ama yine de bu biraz yardımcı olur umarım yoktur. Yetkilendirme başlığını eklemek istiyorsanız, bu oldukça kolay olmalıdır. yardımcı olur

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

Hope: Aşağıdaki kullanmak böylece

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

Ben parça guzzle parça halinde talebimi kurmak. Ayrıca, gelecekte kullandığınız Kitaplıkların sürümünü, sürümünüze bağlı olarak sözdizimi değişiklikleri eklediğinizden emin olun. Bu yetkili müşteri yaratır ve istenen params

-1
use GuzzleHttp\Client; 

... Şema:

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

Temel Auth kullanmak istiyorsanız ben guzzle 6. kullanıyorum ile birlikte bir get isteği gönderir

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