Localisation par adresse ip en script batch

Résolu/Fermé
mirok - Modifié le 31 déc. 2020 à 16:31
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 2 janv. 2021 à 14:47
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
A voir également:

5 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 1 janv. 2021 à 01:47
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


0
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
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
1 janv. 2021 à 23:01
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 ?
0
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
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 2 janv. 2021 à 00:08
Donc curl est bien installé, pas de problème de ce côté.

Ouvre une invite de commandes et tape cette commande :
curl -G -s "https://geo.ipify.org/service/account-balance?apiKey=%api_key%"


Pense à remplacer la variable %api_key% par ta clé.
0
mirok > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
2 janv. 2021 à 00:12
Il ne se passe rien
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > mirok
2 janv. 2021 à 00:19
Même pas un message d'erreur ?
0
mirok > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
2 janv. 2021 à 00:20
Non même pas, sa va a la ligne et reprend comme si j'avais rien fais
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > mirok
2 janv. 2021 à 00:22
Est-ce que tu as bien activé ton compte ipify via le lien de confirmation reçu par email ?
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
2 janv. 2021 à 00:17
Voilà ce que tu es censé obtenir :


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le script est génial en plus
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
2 janv. 2021 à 00:26
Merci, c'est du vite fait mais c'est déjà une bonne base.
0