cURL
This commit is contained in:
@@ -38,16 +38,26 @@ if ($daysDiff < -2) {
|
|||||||
|
|
||||||
$url = "$baseUrl?latitude=$lat&longitude=$lng&daily=weather_code,temperature_2m_max,temperature_2m_min&timezone=auto&start_date=$date&end_date=$date";
|
$url = "$baseUrl?latitude=$lat&longitude=$lng&daily=weather_code,temperature_2m_max,temperature_2m_min&timezone=auto&start_date=$date&end_date=$date";
|
||||||
|
|
||||||
// 5. Interrogation d'Open-Meteo
|
// 5. Interrogation d'Open-Meteo via cURL (plus robuste)
|
||||||
$res = @file_get_contents($url);
|
$ch = curl_init();
|
||||||
|
curl_setopt($ch, CURLOPT_URL, $url);
|
||||||
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
curl_setopt($ch, CURLOPT_TIMEOUT, 5); // Timeout de 5 secondes max
|
||||||
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // Contourne les erreurs SSL en local
|
||||||
|
|
||||||
|
$res = curl_exec($ch);
|
||||||
|
$curlError = curl_error($ch); // On capture l'erreur exacte au cas où
|
||||||
|
curl_close($ch);
|
||||||
|
|
||||||
if (!$res) {
|
if (!$res) {
|
||||||
echo json_encode(['success' => false, 'message' => 'Erreur API Open-Meteo']);
|
echo json_encode([
|
||||||
|
'success' => false,
|
||||||
|
'message' => 'Erreur API Open-Meteo',
|
||||||
|
'debug' => $curlError, // L'inspecteur JS nous donnera la vraie raison !
|
||||||
|
'url' => $url
|
||||||
|
]);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = json_decode($res, true);
|
|
||||||
|
|
||||||
// 6. Formatage et envoi au Javascript
|
// 6. Formatage et envoi au Javascript
|
||||||
if (isset($data['daily']['weather_code'][0])) {
|
if (isset($data['daily']['weather_code'][0])) {
|
||||||
echo json_encode([
|
echo json_encode([
|
||||||
|
|||||||
Reference in New Issue
Block a user