Recuperer IP dans un fichier Json

Résolu/Fermé
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023 - 16 avril 2020 à 16:46
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023 - 17 avril 2020 à 15:13
Bonjour,
Je voudrais afficher les infos géo d'un ip.
J'utilise ce site site qui m'aide à avoir beaucoup d'info sur l'IP(ip-api.com/json).
Mon code php me m'envoie une erreur 500 "HTTP ERROR 500"
<?php
$ip = $_SERVER["REMOTE_ADDR"];
$api_url = 'http://ip-api.com/json/'.$ip.'?fields=country,city,proxy';
$api_content = file_get_contents($api_url);
$api_content_array = json_decode($api_content,true);
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
        <title>Infos IP</title>
        </head>
        <body>
     <?php
echo 'IP:' .$ip; </br>
echo 'VILLE:'.$api_content_array['city'];</br>
echo 'PAYS:'.$api_content_array['country'];</br>

echo 'VPN:'.$api_content_array['proxy'];</br>
        ?>
        </body>
</html>

Je n'arrive pas à récupérer les infos sur l'IP. J'ai besoin d'aide. Merci
A voir également:

1 réponse

jordane45 Messages postés 38451 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mars 2025 4 739
16 avril 2020 à 22:42
Bonjour,

Tes <br> sont mal placés...
Il faut les concaténer avec le reste de ta chaine...
echo 'IP:' .$ip; </br>
echo 'VILLE:'.$api_content_array['city'];</br>
echo 'PAYS:'.$api_content_array['country'];</br>
echo 'VPN:'.$api_content_array['proxy'];</br>

A changer par
echo 'IP:' .$ip . '</br>';
echo 'VILLE:' . $api_content_array['city'] . '</br>';
echo 'PAYS:' . $api_content_array['country'] . '</br>';
echo 'VPN:' . $api_content_array['proxy'] . '</br>';

1
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
17 avril 2020 à 13:38
Au fait api_content_array['proxy'] est un booléen, comment puis-je le concatener pour avoir un bon résultat svp. Il retourne un true même sans VPN actif
echo 'VPN:' . $api_content_array['proxy'] ? 'ATTENTION VPN actif' : 'Pas de VPN actif' . '</br>';
0
jordane45 Messages postés 38451 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mars 2025 4 739 > ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
17 avril 2020 à 14:00
Il retourne un true même sans VPN actif

Tu as la main sur le script qui te retourne les données ? moi non. je ne peux donc pas le modifier.
0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023 > jordane45 Messages postés 38451 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mars 2025
17 avril 2020 à 14:13
Voici le code:
<?php
$ip = $_SERVER["REMOTE_ADDR"];
$api_url = 'http://ip-api.com/json/'.$ip.'?fields=country,city,proxy';
$api_content = file_get_contents($api_url);
$api_content_array = json_decode($api_content,true);

 //corps du message

echo 'INFORMATIONS DU SERVEUR ' ;    
echo 'VILLE:' . $api_content_array['city'] . '</br>';
echo 'PAYS:' . $api_content_array['country'] . '</br>';
echo 'VPN:' . $api_content_array['proxy'] ? 'ATTENTION VPN active' : 'Pas de VPN active' . '</br>';
?> 
1
jordane45 Messages postés 38451 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mars 2025 4 739 > ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023
17 avril 2020 à 14:15
Je te parle de cette page
https://ip-api.com/
0
ananias8686 Messages postés 86 Date d'inscription samedi 9 février 2019 Statut Membre Dernière intervention 19 août 2023 > jordane45 Messages postés 38451 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 9 mars 2025
17 avril 2020 à 14:34
Je pense que c'est la concaténation qui a de problème.
Quand je fais
echo $api_content_array['proxy'] ? 'VPN actif' : 'PAS DE VPN';

Ça marche correctement, ça retourne un true(VPN ACTIF) si je suis en mode VPN et un false(PAS DE VPN) quand suis pas en VPN.

Essayer ce script, ça marche parfaitement sans la concaténation.
<?php
$ip = $_SERVER["REMOTE_ADDR"];
$api_url = 'http://ip-api.com/json/'.$ip.'?fields=country,city,proxy';
$api_content = file_get_contents($api_url);
$api_content_array = json_decode($api_content,true);

 //corps du message
echo $api_content_array['proxy'] ? 'VPN actif' : 'PAS DE VPN';
?>

Par contre quand j'essaie de concatener, ça cause problème.
0