如何使用 Guzzle 进行 HTTP 基本身份验证?

2022-08-30 08:25:51

我想使用Guzzle进行基本的访问身份验证,并且我对编程非常陌生。我不知道该怎么办。我试图使用curl来做到这一点,但我的环境需要使用gzzle。


答案 1

如果您使用的是 Guzzle 5.0 或更高版本文档会说基本身份验证是使用 auth 参数指定的:

$client = new GuzzleHttp\Client();
$response = $client->get('http://www.server.com/endpoint', [
    'auth' => [
        'username', 
        'password'
    ]
]);

请注意,如果您使用的是 Guzzle 3.0 或更早版本,则语法会有所不同。构造函数是不同的,您还需要在请求中显式使用该方法来获取响应:send

$client = new Guzzle\Http\Client();
$request = $client->get('http://www.server.com/endpoint');
$request->setAuth('username', 'password');
$response = $request->send();

答案 2

除了@amenadiel答案。有时很方便地在构造函数中指定身份验证参数:

$client = new Client([
    'auth' => ['username', 'password'],
]); 

然后,每个请求都将使用此默认身份验证参数。


推荐