首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GuzzleHttp导致在已存在的路由上找不到404

GuzzleHttp导致在已存在的路由上找不到404
EN

Stack Overflow用户
提问于 2019-01-12 15:44:24
回答 2查看 728关注 0票数 1

我正在向POST api.myserver.com/v1/oauth/token发送请求,以获取带有client_credentials的令牌,如下所示:

代码语言:javascript
复制
$client = new GuzzleHttp\Client; // A guzzle client
$response = $this->client->post('http://api.myserver.com/v1/oauth/token', [
  'form_params' => [
    'grant_type' => 'client_credentials',
    'client_id' => 'MY_CLIENT_ID',
    'client_secret' => 'MY_CLIENT_SECRET',
    'scope' => ''
  ],
  'headers' => [
    'Accept' => 'application/json'
  ]
));

我使用的是apiato框架,因此默认的laravel passport令牌生成路由已修改为类似api.myserver.com/v1/oauth/token的内容,因此路径也已修改。

现在,当我从浏览器运行上面的代码时,它抛出了一个404 not found exception。当我在POSTman上运行它时,它工作得很好。而且,当我在测试环境中运行它时,它也运行得很好。

代码语言:javascript
复制
Client error: `POST http://api.myserver.com/v1/oauth/token` resulted in a `404 Not Found` response:
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" co (truncated...)

我尝试更改到http://myserver.com/oauth/token的路径,但没有成功。会出什么问题呢?

EN

回答 2

Stack Overflow用户

发布于 2020-05-27 15:09:46

这种情况发生在我身上,尤其是client_credentials grant_type。如果我使用authorization_code,它可以工作。还不知道为什么。

票数 0
EN

Stack Overflow用户

发布于 2019-01-12 16:31:05

那么,当您尝试使用浏览器访问此端点时得到404的原因是因为它是一个POST请求。当您通过浏览器访问URL时,它是一个GET请求。

票数 -3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54157683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档