代码之家  ›  专栏  ›  技术社区  ›  Merhawi Fissehaye

guzzlehttp导致在存在的路由上找不到404

  •  0
  • Merhawi Fissehaye  · 技术社区  · 6 年前

    我将请求发送到 POST api.myserver.com/v1/oauth/token 要获取具有客户端凭据的令牌,请执行以下操作:

    $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 . 而且当我在测试环境中运行它时,它也工作得很好。

    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 没有运气。会出什么问题?

    1 回复  |  直到 6 年前
        1
  •  -1
  •   MyLibary    6 年前

    当你试图使用浏览器到达这个端点时,你得到404的原因是因为它是一个post请求。当您通过浏览器到达一个url时,它是一个get请求。