2

最近、Guzzle を使用して URL をスクレイピングしましたが、エラーがなければ問題なく動作します。

ただし、たとえば 404 がある場合は、

$response = $client->get('http://www.google.com/test')->send();

マニュアル(Response Status Line)は、上記のコードで電話をかけることができることを示唆しています

$response->isSuccessful();

ただし、リクエストの受信でエラーが発生した場合はa をsend()スローします。ClientErrorResponseExceptionスローされる例外は次のとおりです

Guzzle\Http\Exception\ClientErrorResponseException
Client error response
  [status code] 404
  [reason phrase] Not Found
  [url] http://www.google.com/test

isXしたがって、その例外をキャッチすると、明らかにアプリケーションの停止を防ぐことができますが、さまざまなメソッドを呼び出すための応答オブジェクトがないことを意味します。

isSuccessful明らかに例外をキャッチすると、ある程度は同じ答えが得られますが、前述のマニュアルページにある他の方法のいくつかも使用すると便利です。

私は何を間違っていますか?

4

1 に答える 1