GuzzleHttp\Exception\ClientException:Client error Hatası Çözümü

Guzzle , HTTP istekleri göndermek ve web hizmetleriyle entegrasyon için HTTP istemcileri oluşturmayı önemsiz hale getiren bir PHP kitaplığıdır. Bir aktarım girişimi sırasında hatalar meydana gelirse, bir istisna atar. Özellikle, istek seçeneği true olarak ayarlanmışsa , HTTP 400 hatalarını GuzzleHttp ClientException
işlemek için a atar .http_errors
Bu istisna, ‘den uzanır BadResponseException
ve ‘den GuzzleHttp\Exception\BadResponseException
uzanır RequestException
. Aşağıdaki örnek hatayı anlamamıza yardımcı olur.
$client = new \GuzzleHttp\Client();
$res = $client->request('GET', 'https://httpbin.org/status/404');
Örnek, “Müşteri hatası: GET https://httpbin.org/status/404
bir 404 NOT FOUND
yanıtla sonuçlandı ” istemci istisnasını atar .
Bu tür hataların temel nedeni aşağıdakiler olabilir:
- Sözdizimi hatası iste
- Yanlış API sürümü
- Desteklenmeyen ortam türleri
Bir try catch bloğu kullanılarak işlenebilirler. Aşağıdaki örnek bunun nasıl yapılacağını göstermektedir.
try {
$client->request('GET', 'https://httpbin.org/status/404');
} catch (ClientException $e) {
echo Psr7\str($e->getRequest());
echo Psr7\str($e->getResponse());
}
Kodun ClientException
, atılan tüm ‘leri yakalayacak bir try/catch bloğuna sarıldığını görebilirsiniz . Bu örneği, yukarıda belirtilenler gibi diğer, daha spesifik uzantıları yakalamak için genişletebilirsiniz.