IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Trouver l'adresse IP Externe [Web/Reseaux]


Sujet :

C++Builder

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut Trouver l'adresse IP Externe
    Bonjour,
    j'ai trouvé sur Internet comment trouver l'adresse IP interne.
    Exisre-t-il un moyen de trouver l'adresse de l'IP externe lorsque
    l'ordinateur est connecté à un site avec un un explorer tel que
    Firefox ou Internet-explorer ?

    Merci

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut Pasqualini
    Regarde ce Post, je ne sais pas si c'est ce que tu desire

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    Merci, je vais essayer et je dirai si cela convient.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    Je travaille avec C++Builder XE.
    La ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    hWinInet = LoadLibrary("WININET.DLL");  //Chargement de la dll
    génère une erreur :
    "[BCC32 Erreur] Connexion.cpp(24): E2034 Impossible de convertir 'char const[12]' en 'const wchar_t *'
    Contexte d'analyseur complet"

    Comment faut-il alors déclarer la variable hWinInet ?
    Merci

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    J'ai trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    HMODULE  hWinInet;
    .
    .
    hWinInet = LoadLibraryA("WININET.DLL");  //Chargement de la dll
    Toutefois cela me dit si l'ordinateur est connecté, mais ne donne pas l'adresse IP, ou les adresses IP, des sites affichés dans le navigateur.

    Ce que cherche à obtenir c'est ce que fait le Widget "Network Meter" qui affiche, par exemple,
    "Ext. IP 60.50.43.176".

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    En fait, j'obtiens l'adresse externe de mon PC en utilisant le composant TIdHttP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      AnsiString asAdresse = IdHTTP1->Get("http://iplookup.flashfxp.com/");
      ShowMessage(asAdresse);

  7. #7
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Pour ouvrir IE et recuperer la chaine de connection il est possible de faire comme ceci
    .cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    #include <utilcls.h> // <----- ne pas oublier
    #include <ComObj.hpp> // <----- utile dans certains cas
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    Variant vMSIEApp;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    // demarrer IE
     // Cree un objet unique non initialisé de la classe spécifiée
     // par le paramètre 'InternetExplorer.Application'
     try
      {
       vMSIEApp = Variant::GetActiveObject("InternetExplorer.Application");
      }
     catch(...)
      {
       vMSIEApp = Variant::CreateObject("InternetExplorer.Application");
      }
     //Rends l'application IE visible
     vMSIEApp.OlePropertySet("Visible", true);
     // permet d'attendre le chargement de la page
     while(vMSIEApp.OlePropertyGet("ReadyState") != READYSTATE_COMPLETE);
     
    //11 - LocationName:
     String vEIValue = vMSIEApp.OlePropertyGet("LocationName");
    //12 - LocationURL:
     vEIValue = vMSIEApp.OlePropertyGet("LocationURL");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
     //Fermer IE
     vMSIEApp.OleFunction("Quit");
     // on libere les Variants
     vMSIEApp = Unassigned;
    }
    //---------------------------------------------------------------------------
    A partir de l'URL avec ShelleExecute on peut peut etre executer un ping sur cet URL et recuperer " 60.50.43.176 "

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    J'ai essayé.
    Cela a bien fonctionné une première fois.
    Je n'ai pas compris pourquoi le programme lançait
    une nouvelle instance de InternetExplorer.

    Mais ensuite, sans rien changer j'ai le message suivant :

    "Un arrêt du systèmea déjà été programmé, progID :
    InternetExplorer application"

  9. #9
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Si tu a essaye mon code avec le tien c'est normal qu'il y ai deux fois IE, tu peu t'en passer car tu recupere ton URL par un autre moyen, essaye avec ShellExecute, buffer recupere l'IP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ShellExecute(Form1->Handle, "open", "ping", http://iplookup.flashfxp.com/, buffer, SW_SHOWNORMAL);
    Je n'ai pas teste il faudra surement adapter

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Points : 242
    Points
    242
    Par défaut
    Pour que le programme se compile et s'exécute, j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    wchar_t buffer[256];
    	ShellExecute(fConnexion->Handle, L"open", L"ping",
    			L"http://iplookup.flashfxp.com/",
    			 buffer,
    			 SW_SHOWNORMAL );
     
    	AnsiString asBuffer = AnsiString(buffer);
      ShowMessage(asBuffer);
    Mais il n'y a rien dans le buffer.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment trouver l'adresse IP du serveur d'un site
    Par glloq8 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 27/01/2011, 13h55
  2. [VBA] Trouver l'adresse de la cellule sous le bouton
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/02/2006, 22h53
  3. trouver l'adresse IP internet de mon PC
    Par heider dans le forum Web & réseau
    Réponses: 2
    Dernier message: 21/01/2006, 13h16
  4. [C#]Trouver l'adresse IP
    Par bilb0t dans le forum Windows Forms
    Réponses: 4
    Dernier message: 07/12/2005, 16h02
  5. trouver l'adresse MAC sous Windows 95
    Par seiryujay dans le forum Développement
    Réponses: 4
    Dernier message: 03/05/2004, 13h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo