diff --git a/src/Helpers/RandomizeUseragentHttpClient.php b/src/Helpers/RandomizeUseragentHttpClient.php index 4b0d11b0..42e62d11 100644 --- a/src/Helpers/RandomizeUseragentHttpClient.php +++ b/src/Helpers/RandomizeUseragentHttpClient.php @@ -154,6 +154,7 @@ final class RandomizeUseragentHttpClient implements HttpClientInterface //When we get a 503, 403 or 429, we assume that the server is blocking us and try again with a different user agent if (!in_array($response->getStatusCode(), [403, 429, 503], true)) { + $this->lastUrl = $url; // Update last visited URL for referer in the next request return $response; } diff --git a/src/Services/InfoProviderSystem/Providers/AIWebProvider.php b/src/Services/InfoProviderSystem/Providers/AIWebProvider.php index 164ee341..79f07be8 100644 --- a/src/Services/InfoProviderSystem/Providers/AIWebProvider.php +++ b/src/Services/InfoProviderSystem/Providers/AIWebProvider.php @@ -196,6 +196,7 @@ final class AIWebProvider implements InfoProviderInterface $href = $node->attr('href'); if ($href) { $absoluteUrl = UriResolver::resolve($href, $baseUrl); + //@phpstan-ignore-next-line we know that getNode(0) will always return a DOMElement, because the crawler is initialized with valid HTML and we are filtering for 'a' tags, which are always DOMElements. $node->getNode(0)->setAttribute('href', $absoluteUrl); } }); @@ -204,6 +205,7 @@ final class AIWebProvider implements InfoProviderInterface $src = $node->attr('src'); if ($src) { $absoluteUrl = UriResolver::resolve($src, $baseUrl); + //@phpstan-ignore-next-line we know that getNode(0) will always return a DOMElement, because the crawler is initialized with valid HTML and we are filtering for 'a' tags, which are always DOMElements. $node->getNode(0)->setAttribute('src', $absoluteUrl); } });