Tag: guzzle

从Guzzle中捕捉exception

我试图从我正在开发的API上运行的一组testing中捕获exception,并使用Guzzle来使用API​​方法。 我已经在try / catch块中包装了testing,但仍然抛出未处理的exception错误。 如他们的文档中所述添加一个事件监听器似乎没有任何作用。 我需要能够检索HTTP代码为500,401,400的响应,实际上不是200的响应,因为如果系统不工作,系统将根据通话结果设置最合适的代码。 当前的代码示例 foreach($tests as $test){ $client = new Client($api_url); $client->getEventDispatcher()->addListener('request.error', function(Event $event) { if ($event['response']->getStatusCode() == 401) { $newResponse = new Response($event['response']->getStatusCode()); $event['response'] = $newResponse; $event->stopPropagation(); } }); try { $client->setDefaultOption('query', $query_string); $request = $client->get($api_version . $test['method'], array(), isset($test['query'])?$test['query']:array()); // Do something with Guzzle. $response = $request->send(); displayTest($request, $response); } […]