Actualiser api.php

This commit is contained in:
2026-06-30 13:49:33 +02:00
parent 219209e609
commit c6c0c25fd5
+19 -4
View File
@@ -340,6 +340,7 @@ function fetchTmdbPosterAndSynopsis($title, $year = '', $pdo = null) {
// ── FONCTION POUR RÉCUPÉRER LES DONNÉES DEPUIS BLU-RAY.COM ──
function fetchFromBlurayCom($ean) {
static $lastRequest = 0;
$empty = [
'title' => '', 'year' => '', 'director' => '', 'actors' => '',
'poster' => '', 'description' => '', 'length' => '',
@@ -350,6 +351,13 @@ function fetchFromBlurayCom($ean) {
$ean = preg_replace('/[^0-9]/', '', (string)$ean);
if (strlen($ean) < 8) return $empty;
// ✅ THROTTLE : Attendre 3 secondes entre chaque requête pour éviter le blocage
$now = microtime(true);
if ($lastRequest > 0 && ($now - $lastRequest) < 3) {
usleep((int)(3 - ($now - $lastRequest)) * 1000000);
}
$lastRequest = microtime(true);
// ÉTAPE 1 : Recherche par EAN sur Blu-ray.com
$searchUrl = "https://www.blu-ray.com/movies/search.php?ean=" . urlencode($ean) . "&action=search";
@@ -364,13 +372,15 @@ function fetchFromBlurayCom($ean) {
CURLOPT_HTTPHEADER => [
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7',
'Referer: https://www.blu-ray.com/'
'Referer: https://www.blu-ray.com/',
'Connection: keep-alive'
]
]);
$searchHtml = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// ✅ GESTION D'ERREUR : Si Blu-ray.com bloque (403, 429, 503), on retourne vide
if (!$searchHtml || $httpCode !== 200) {
error_log("Blu-ray.com: ❌ Échec recherche EAN $ean (HTTP $httpCode)");
return $empty;
@@ -385,6 +395,9 @@ function fetchFromBlurayCom($ean) {
$movieUrl = $matches[1];
$movieId = $matches[2];
// ✅ THROTTLE avant la 2ème requête
usleep(1000000); // 1 seconde
// ÉTAPE 2 : Récupérer la page du film
$ch2 = curl_init($movieUrl);
curl_setopt_array($ch2, [
@@ -397,14 +410,16 @@ function fetchFromBlurayCom($ean) {
CURLOPT_HTTPHEADER => [
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7',
'Referer: https://www.blu-ray.com/'
'Referer: https://www.blu-ray.com/',
'Connection: keep-alive'
]
]);
$movieHtml = curl_exec($ch2);
$httpCode2 = curl_getinfo($ch2, CURLINFO_HTTP_CODE);
curl_close($ch2);
if (!$movieHtml) {
error_log("Blu-ray.com: ❌ Impossible de charger la page du film $movieUrl");
if (!$movieHtml || $httpCode2 !== 200) {
error_log("Blu-ray.com: ❌ Impossible de charger la page du film $movieUrl (HTTP $httpCode2)");
return $empty;
}