- $client = new Client([
- 'allow_redirect' => [
- 'max' => 8,
- 'on_redirect' => $onRedirect,
- 'track_redirect' => true,
- 'strict' => true,
- 'referer' => true,
- ],
- 'curl' => $curlOptions
- ]);
-
- try {
- $response = $client->get($url);
- return new GuzzleResponse($response, $url);
- } catch (RequestException $exception) {
- if ($exception->hasResponse()) {
- return new GuzzleResponse($exception->getResponse(), $url, $exception->getCode(), $exception->getMessage());
- } else {
- return new CurlResult($url, '', ['http_code' => $exception->getCode()], $exception->getCode(), $exception->getMessage());
- }
- } finally {
+ if (!Network::isRedirectBlocked($url) && $curlResponse->isRedirectUrl()) {
+ $redirects++;
+ $this->logger->notice('Curl redirect.', ['url' => $url, 'to' => $curlResponse->getRedirectUrl()]);
+ @curl_close($ch);