質問編集履歴
1
内容を詳細に記載しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Laravel5.1 GoutteでエラーをCatchしたい
|
test
CHANGED
@@ -1,14 +1,28 @@
|
|
1
|
+
Laravel5.1でコマンドを作成しました。
|
2
|
+
|
1
|
-
外部
|
3
|
+
コマンドでGoutteを使い、外部URLにアクセスさせたいと思っております。
|
2
4
|
|
3
5
|
その際、URLのミスや、ネットワークエラーなどが原因で、
|
4
6
|
|
5
|
-
接続が出来ない時に例外をキャッチしたいのですが、
|
7
|
+
接続が出来ない時に例外をキャッチしたいのですが、「エラー」の文字が表示
|
8
|
+
|
9
|
+
されず、curlのエラが画面表示されます。
|
6
10
|
|
7
11
|
|
8
12
|
|
9
|
-
スクリプトを実行すると、curlのエラーが表示されます。
|
10
13
|
|
14
|
+
|
15
|
+
コマンドを実行すると、以下curlのエラーだけが表示されます。
|
16
|
+
|
17
|
+
(エラーメッセージ)
|
18
|
+
|
19
|
+
> [GuzzleHttp\Exception\ConnectException]
|
20
|
+
|
11
|
-
cURL error 6: Couldn't resolve host 'www.yahoo.co.jp2'
|
21
|
+
> cURL error 6: Couldn't resolve host 'www.yahoo.co.jp2'
|
22
|
+
|
23
|
+
> [GuzzleHttp\Ring\Exception\ConnectException]
|
24
|
+
|
25
|
+
> cURL error 6: Couldn't resolve host 'www.yahoo.co.jp2'
|
12
26
|
|
13
27
|
|
14
28
|
|
@@ -32,26 +46,42 @@
|
|
32
46
|
|
33
47
|
<?php
|
34
48
|
|
35
|
-
|
49
|
+
namespace App\Console\Commands;
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
use Illuminate\Console\Command;
|
36
54
|
|
37
55
|
use Goutte\Client;
|
38
56
|
|
39
57
|
|
40
58
|
|
41
|
-
|
59
|
+
class ChecCommand extends Command
|
42
60
|
|
43
|
-
|
61
|
+
{
|
44
62
|
|
45
|
-
|
63
|
+
//...
|
46
64
|
|
47
|
-
|
65
|
+
public function handle()
|
48
66
|
|
49
|
-
|
67
|
+
{
|
50
68
|
|
69
|
+
$client = new Client();
|
70
|
+
|
71
|
+
try {
|
72
|
+
|
73
|
+
$crawler = $client->request('GET', 'http://wwww.yahoo.co.jp2');
|
74
|
+
|
75
|
+
$status = $client->getResponse()->getStatus();
|
76
|
+
|
77
|
+
} catch (Exception $e) {
|
78
|
+
|
51
|
-
echo
|
79
|
+
echo "エラー";
|
80
|
+
|
81
|
+
}
|
82
|
+
|
83
|
+
}
|
52
84
|
|
53
85
|
}
|
54
86
|
|
55
|
-
echo sprintf("status: %s\n", $status);
|
56
|
-
|
57
87
|
```
|