Localisation par adresse ip en script batch

Résolu
mirok -  
barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    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
  2. mirok
     
    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
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      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
  3. mirok
     
    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
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      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
    2. mirok > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Il ne se passe rien
      0
    3. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > mirok
       
      Même pas un message d'erreur ?
      0
    4. mirok > barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Non même pas, sa va a la ligne et reprend comme si j'avais rien fais
      0
    5. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > mirok
       
      Est-ce que tu as bien activé ton compte ipify via le lien de confirmation reçu par email ?
      0
  4. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Voilà ce que tu es censé obtenir :


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

    Posez votre question
  6. mirok
     
    Le script est génial en plus
    0
    1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
       
      Merci, c'est du vite fait mais c'est déjà une bonne base.
      0