Localisation par adresse ip en script batch [Résolu]

Signaler
-
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021
-
Bonjour,
J'aimerai crée un programme en batch qui localise les adresses IP soit en se connectant directement un site fais exprès et qui récupère les inforamtions pour mon logiciel ou alors un script fais exprès.
Pouvez vous m'aider svp
Merci

5 réponses

Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021
4 052
Bonjour,

J'ai concocté un script qui se charge de la géolocalisation, en passant par le site ipify.

Pour pouvoir utiliser l'API gratuite d'ipify, il faut juste créer un compte pour obtenir une clé.
Cette clé sera à renseigner à la ligne 6 du script :
set "api_key=


Voilà le script :

@echo off
chcp 65001 >nul
mode con cols=80 lines=60
setlocal enableextensions enabledelayedexpansion

set "api_key=at#VeUYrH7jk2PHaNn5NFHF9LcwWwwZT"

:debut

set "adresse="
cls & echo.
set /p adresse=">>> Entrez l'adresse IP à géolocaliser = "
if not defined adresse (goto :debut)

echo %adresse% | findstr /r "\<[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\>" >nul || goto :debut

curl -G -s "https://geo.ipify.org/api/v1?apiKey=%api_key%&ipAddress=%adresse%" > %TMP%\temp498.txt
set /p string=<%TMP%\temp498.txt

set "prefix="

:parse

for /f "tokens=1* delims=," %%A in ("!string!") do set data=%%A & set string=%%B

set data=!data:"= !
set data=!data:{= !
set data=!data:}= !
set data=!data:\=!
set data=!data:[=!
set data=!data:]=!
set data=!data:location :  =!
set data=!data: ip :=ip :!
set data=!data:as :  =!
set data=!data:proxy :  =!

set data=!data:u00ce=Î!
set data=!data:u00e9=é!
set data=!data:u00e8=è!
set data=!data:u00ee=î!
set data=!data:u00f4=ô!
set data=!data:u00e0=à!
set data=!data:u00ea=ê!

echo.!data! | findstr /lic:"Located in" >nul && set "prefix=!data:~0,-1!," || (echo. & echo !prefix!!data! & set "prefix=")

if defined string (goto :parse)

echo.
echo ###############################################################################
echo.

for /f "tokens=2 delims=:" %%A in ('curl -G -s "https://geo.ipify.org/service/account-balance?apiKey=%api_key%"') do set credit=%%A

set credit=!credit:~0,-1!

echo Grâce à l'api gratuite d'ipify vous avez droit à 1000 requêtes par mois.
echo.
echo Ce mois-ci, il vous reste !credit! requêtes à effectuer.
echo.
echo ###############################################################################

echo. & pause
exit



“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”
Salut,
Merci beaucoup pour ta réponse !
J'ai essayer ton script mais j'ai un petit problème..
J'ai entré ma clé ipify dans l'emplacement pour mais quand je rentre une adresse ip sa me marque sa :


>>> Entrez l'adresse IP à géolocaliser = 192.168.56.36 (c'est une adresse aléatoire)

"=

###############################################################################

Grâce à l'api gratuite d'ipify vous avez droit à 1000 requêtes par mois.

Ce mois-ci, il vous reste ~0,-1 requêtes à effectuer.

###############################################################################
Appuyer sur une touche pour contiuer...

Et des que j'appuie sur la touche sa me fais quitter
Voila je sais pas si de ton côté sa marche, peut être un problème de mon côté
En tous cas merci pour ta réponse
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021
4 052
Ouvre une invite de commandes et tape cette commande :
curl -V


Qu'est-ce que tu obtiens comme réponse ?

Est-ce que tu es sur Windows 10 ?
Oui je suis sur Windows 10
Et avec la commande sa me marque:

C:\Users\mirok>curl -V
curl 7.55.1 (Windows) libcurl/7.55.1 WinSSL
Release-Date: [unreleased]
Protocols: dict file ftp ftps http https imap imaps pop3 pop3s smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021
4 052 >
Messages postés
3
Date d'inscription
samedi 2 janvier 2021
Statut
Membre
Dernière intervention
2 janvier 2021

Ta clé fonctionne, 1ère requête effectuée sur les 1000 autorisées.
Messages postés
3
Date d'inscription
samedi 2 janvier 2021
Statut
Membre
Dernière intervention
2 janvier 2021
>
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021

Je comprend pas pour sa ne marche pas ...
Peut être que tu as oublier une ligne de code quand tu l'as copier coller ?
Car j'ai essayer sur un autre pc avec le même script copier coller mais sa ne marche toujours pas
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021
4 052 >
Messages postés
3
Date d'inscription
samedi 2 janvier 2021
Statut
Membre
Dernière intervention
2 janvier 2021

Je pensais aussi à un problème de copier-coller, j'ai donc repris le code que j'ai posté mais finalement ce n'est pas ça le problème.

Le problème pourrait provenir de l'encodage de caractères de la console, je suis sur Windows 7 donc j'utilise CHCP 28591, sur Windows 10 normalement il faut utiliser CHCP 65001.

Tu peux essayer de modifier le code page situé au début du script, pour utiliser 28591 ou bien 1252.
Messages postés
3
Date d'inscription
samedi 2 janvier 2021
Statut
Membre
Dernière intervention
2 janvier 2021
>
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021

J'ai essayer, rien...
Des que je change le CHCP 65001 par un autre sa m'enlève les accents, sa me donne un truc du style

>>> Entrez l'adresse IP à géolocaliser =
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021
4 052 >
Messages postés
3
Date d'inscription
samedi 2 janvier 2021
Statut
Membre
Dernière intervention
2 janvier 2021

Donc il faut garder 65001

Regarde en haut à droite de cette page, je t'ai envoyé un message privé.
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021
4 052
Voilà ce que tu es censé obtenir :


Le script est génial en plus
Messages postés
13175
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
19 janvier 2021
4 052
Merci, c'est du vite fait mais c'est déjà une bonne base.