2016-12-05 11 views
1

私は、偽のURLが提供されている場合は、単に「偽のURL」という例外を介してURLSのステータスコードを取得することができます。私はその例外を処理し、404のように扱いたい、サイトがダウンしている。laravel:例外処理

private function getStatusCode($url) 
    { 
     $response = $this->client->get($url, [ 
      'http_errors' => false 
     ]); 

     return $response->getStatusCode(); 
    } 

私はこのコードを試したが役に立たなかった。私はそれを理解するためにあなたの助けが必要ですか?

private function getStatusCode($url) 
    { 
    try{ 
    $response = $this->client->get($url, [ 
     'http_errors' => false 
     ]); 

    return $response->getStatusCode(); 
    }  
    //catch specific exception.... 
    catch(QueryException $e) 
    { 
     //...and do whatever you want 
    return $response;  
    } 

} 

答えて

1

app/Exceptions/Handler.phpにメソッドをレンダリングするためにこのコードを試しましたか?あなたの条件に基づいて

public function render($request, Exception $e) 
{ 
    if($this->isHttpException($e)) 
    { 
    switch ($e->getStatusCode()) { 
     // 404 not found 
     case '404': 
     return redirect()->guest('404pageURL'); 
     break; 

     // internal error 
     case '500': 
     return redirect()->guest('500pageURL'); 
     break; 

     default: 
      return $this->renderHttpException($e); 
     break; 
    } 
    } 
    else 
    { 
    return parent::render($request, $e); 
    } 
} 

変更404pageURL500pageURL。しかし、私はこのコードではテストされていませんが、それはあなたのために動作するはずです。