我正在使用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."}
有什么想法吗?我调用的REST API服务器是用Django DRF编写的。但认为这可能是不相容的,这是无稽之谈....
任何想法的Thanxs。
答案 0 :(得分:1)
您会收到非常明确的错误,即服务器不接受POST请求。我不知道,是不是。如果还能控制服务器,你可以检查那里的代码,也许这只是一个错误。
基本上你不能谈论兼容性或不兼容性,因为它只是简单的HTTP而且有效。您和服务器开发人员之间的通信或服务器中的错误可能会出现问题。
答案 1 :(得分:0)
嗯,Guzzle和DRF都没有失败......只有DRF网址中的一个参数不接受尾随/在其他入口点....
只需在信用网址后添加/,一切正常......
以某种方式让DRF显示这种误导性错误消息的奇怪行为。