laravel guzzle 403禁止

时间:2017-09-11 17:04:10

标签: php laravel api guzzle

我使用guzzle将数据发送到我的api并且我得到了例外。 这是我的控制器中的代码

public function Connecter(Request $request){
    $parametre =$request->all();
    $client = new Client();

    $r = $client->post('http://myapiurl.com/login',['body'=>$parametre]);



    $user = json_decode($r->getBody(),true);

     if ($user) {
        $sis = $user['user'];
        Session::put('id', $sis['id']);
        Session::put('nom', $sis['name']);
        Session::put('role', $sis['id_roles']);
        Session::put('email', $sis['email']);
        return redirect()->route('home');
    }else{
        return redirect()->back();
    }

}

当我看到日志时,我发现了这个

  

[2017-09-11 16:31:25] production.ERROR:GuzzleHttp \ Exception \ ClientException:客户端错误响应[url] http://myapiurl.com/login [状态代码] 403 [原因短语]禁止/ home / vol2_6 / myserver.com /用户名/ htdocs中/ laravel /供应商/ guzzlehttp /狂饮/ SRC /异常/ RequestException.php:89   堆栈跟踪:

当我做的时候

dd($r = $client->post('http://myapiurl.com/login',['body'=>$parametre]);
 );

我得到403 Forbidden

2 个答案:

答案 0 :(得分:0)

如果您的API域使用CloudFlare,请尝试更改"安全级别"设置为低或低。您可以在防火墙设置部分找到它。

但请注意,这会使您的网站面临潜在的安全漏洞。

答案 1 :(得分:0)

以防万一这对其他人有帮助。几个小时前,我遇到了这个问题,因为我已经从登台站点上的API收到“ 403 Forbidden”错误。

这个问题使我整日生气。事实证明,此问题是由暂存站点以前被限制为仅允许某些IP地址引起的。这些已添加到Nginx配置文件中,而我对此却一无所知。

我现在很大。