2017-09-11 229 views
0

我使用guzzle將數據發送到我的API,我收到一個異常。 這裏是我的控制器代碼laravel guzzle 403禁止

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: Client error response [url] http://myapiurl.com/login [status code] 403 [reason phrase] Forbidden in /home/vol2_6/myserver.com/username/htdocs/laravel/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:89 Stack trace:

當我這樣做

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

我得到403禁止

+0

您是否擁有該路線上的auth中間件,並嘗試在沒有登錄用戶的情況下訪問它? – Anders

+0

我有一個個人腳本來返回用戶信息。它可以在本地運行。但不在遠程服務器上 –

+0

它看起來像'csrf-token'字段有問題。 – aleksejjj

回答

0

如果您的API域使用CloudFlare,請嘗試將「安全級別」設置更改爲低或更低。你可以在防火牆設置部分找到它。

但是請注意,這會使您的網站暴露於潛在的安全漏洞。

+0

不,不用它 –

+0

我找到了雲賄賂,但它被禁用。所以我認爲這不是問題,但我試圖訪問郵遞員的api子域,我有錯誤「該站點要求使用Javascript才能工作,請在您的瀏覽器中啓用Javascript,或者使用帶有Javascript支持的瀏覽器。 –