我使用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
答案 0 :(得分:0)
如果您的API域使用CloudFlare,请尝试更改"安全级别"设置为低或低。您可以在防火墙设置部分找到它。
但请注意,这会使您的网站面临潜在的安全漏洞。
答案 1 :(得分:0)
以防万一这对其他人有帮助。几个小时前,我遇到了这个问题,因为我已经从登台站点上的API收到“ 403 Forbidden”错误。
这个问题使我整日生气。事实证明,此问题是由暂存站点以前被限制为仅允许某些IP地址引起的。这些已添加到Nginx配置文件中,而我对此却一无所知。
我现在很大。