PHP-狂饮怪事

PHP-狂饮怪事,php,guzzle,Php,Guzzle,我正在使用最新版本的PGP Guzzle HTTP。。。完成了非常简单的测试: use GuzzleHttp\Client; $client = new Client(); $res = $client->post('https://MYAPI/cards/XXX/credit',[ 'headers' => ['Authorization' => 'Token MYTOKEN'], 'json' => [

我正在使用最新版本的PGP Guzzle HTTP。。。完成了非常简单的测试:

use GuzzleHttp\Client;
$client = new Client();
    $res = $client->post('https://MYAPI/cards/XXX/credit',[
        'headers' => ['Authorization' => 'Token MYTOKEN'],
        'json' => [
            "amount" => 10,
            "reason" => "Because"
        ]
    ]);
    var_dump($res);
返回了一个异常:

GuzzleHttp\Exception\ClientException : Client error: `POST 
https://MYAPI/cards/XXX/credit` resulted in a `405 Method Not Allowed` 
response:
{"detail":"Méthode \"GET\" non autorisée."}
有什么想法吗?我调用的RESTAPI服务器是由Django DRF创建的。但认为它可能是不相容的,这是胡说八道


任何想法都可以

服务器不接受POST请求是一个非常明显的错误。我不知道,对不对。如果你也能控制服务器,你可以检查那里的代码,也许这只是其中的一个bug


基本上,您不能谈论兼容性或不兼容性,因为它只是简单的HTTP,而且可以工作。您可能在与服务器开发人员的通信中遇到问题,也可能在服务器中出现错误。

好吧,这既不是Guzzle也不是DRF whiche失败。。。。DRF URL中只有一个参数不接受尾随/在rest入口点中

只需添加/在信用url之后,一切正常


DRF显示这种误导性错误消息的奇怪行为。

尝试在djangoWell中调试请求生命周期问题不在于任何兼容性,更多的是关于Guzzle http客户端类中可能遗漏的任何配置的一些想法。您的代码没有问题。看看服务器,它只是说POST请求不受支持。