使用 Guzzle 进行摘要式身份验证

Digest authentication with Guzzle

正在尝试从使用摘要身份验证的 API 获得 JSON 响应。我正在为客户使用 Guzzle。

这是我目前所做的,但似乎没有用。有什么建议吗?

<?php
require 'vendor/autoload.php';

use GuzzleHttp\Client;

$client = new Client([
'base_uri' => 'https://10.1.1.1',
'timeout'  => 2.0,
]);

$client->setDefaultOption('verify', false);
$client->request('POST', '/json', ['auth' => ['username', 'password', 'digest']]);

检查是否安装了 php-curl 扩展。如果没有安装它。对于 linux:

sudo apt-get install php-curl

<?php

require 'vendor/autoload.php';
use GuzzleHttp\Client;

$client = new Client();

$query = '{"id":1}'; //json payload if any

$result = $client->request(
        'POST',
        'https://10.1.1.1/json', [
            'verify' => false,
            'auth' => ['username', 'password', 'digest'],
            'json' => json_decode($query, true),
        ]);