【发布时间】:2017-03-27 19:41:30
【问题描述】:
我正在向 URL 发出请求以使用 Goutte 获取数据。但是我发出请求的服务器很慢。所以有时 laravel 会抛出超时错误。当这个错误发生时,我必须在数据库中输入这个错误日志,并带有一些额外的数据(即 id 等)。我在互联网上搜索过。但是我找到了所有与自定义错误消息等相关的解决方案。我想要的是当 laravel 抛出超时错误时,我必须在数据库中输入额外的数据,然后重定向页面。如果有人知道解决方案,将不胜感激。
这是我的代码。
use Goutte\Client;
class WebScrapingController extends Controller {
public function index() {
try {
$this->crawler = $this->client->request('GET', $url . '?' . $data);
}catch(Exception $e){
// Here I want to make entry in database and then redirect to another page
dd(['Connection time out', $i, $e]);
}
}
}
这是我的错误信息
ConnectException in CurlFactory.php line 186:
cURL error 7: Failed to connect to myurl port 80: Connection timed out (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
有时也会出现此错误
RequestException in CurlFactory.php line 187:
cURL error 56: Recv failure: Connection timed out (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
我正在使用 laravel 5.3 和 this scraper。
【问题讨论】:
标签: php laravel-5 error-handling laravel-5.3 error-reporting