Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1348 connectés 

  FORUM HardWare.fr
  Programmation
  API Win32

  [Résolu] Placer le code source d'une page web en buffer (Winnet)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Placer le code source d'une page web en buffer (Winnet)

n°1915179
gaellm
Posté le 14-08-2009 à 15:55:58  profilanswer
 

Bonjour à tous,  
 
   Voila, tout est dans le titre, j'essaie de développer une méthode permettant d'obtenir mon adresse IP publique (IP Internet), pour ce faire je vais interroger un site Web qui me la renvoi, je cherche donc a mettre cette page web en buffer de façon a récupérer cette adresse IP, contenue dans le code source de la page.  
 
   Jutilise les MFC avec Visual Studio 2005, et l'api Winnet.
 
   Voici ma méthode:

Code :
  1. bool CVpnP2pMainView::GetInternetIP()
  2. {
  3.    HINTERNET  InternetHandle;
  4.    HINTERNET  UrlHandle;
  5.    INTERNET_BUFFERS buffer;
  6.    InternetHandle = InternetOpen(L"", 0, 0, 0, 0);
  7.    if(InternetHandle != 0)
  8.    {
  9. OutputDebugString(L"InternetHandle OK" );
  10. UrlHandle = InternetOpenUrl(InternetHandle,
  11.                                                    L"http://checkip.dyndns.org",
  12.                                                    0,
  13.                                                    0,
  14.                                                    INTERNET_FLAG_NEED_FILE,
  15.                                                    0);
  16.              if(UrlHandle != 0)
  17.              {
  18.                          OutputDebugString(L"UrlHandle OK" );
  19.                          if(InternetReadFileExW(        UrlHandle,
  20.                                                                 &buffer,
  21.                                                                 0,
  22.                                                                 0) != 0)
  23.                          {
  24.                                       OutputDebugString(L"InternetReadFile OK" );
  25.                                       OutputDebugString((CString)(char*)buffer.lpvBuffer);
  26.                          }
  27.                          else       DBG(ERROR, FCT, _T("InternetReadFileExW failed with error 0x%x" ), GetLastError());
  28.                          InternetCloseHandle(UrlHandle);
  29.              }
  30.              InternetCloseHandle(InternetHandle);
  31.        }
  32. return true;
  33. }


 
J'obtiens les traces suivantes via DebugView après éxecution:
 

Citation :


[3036] InternetHandle OK
[3036] UrlHandle OK
[3036] VPN_P2P ==> ERROR   : CVpnP2pMainView::GetInternetIP : InternetReadFileExW failed with error 0x78


 
C'est donc l'API InternetReadFileExW qui pose problème, cependant je ne vois pas en quoi  :??:  
 
Si quelqu'un a déja tenter ce genre de chose, je suis ouvert a toute propositions
 
Merci.


Message édité par gaellm le 17-08-2009 à 08:57:26
mood
Publicité
Posté le 14-08-2009 à 15:55:58  profilanswer
 

n°1915520
karlkox
Posté le 16-08-2009 à 18:57:48  profilanswer
 
n°1915588
gaellm
Posté le 17-08-2009 à 08:56:14  profilanswer
 

Merci, c'est exactement ce que je cherchais !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  API Win32

  [Résolu] Placer le code source d'une page web en buffer (Winnet)

 

Sujets relatifs
[VBS] Comparaison de dates (résolu)Menustrip à placer n'importe où [RESOLU]
[Résolu] Commander une LED reliée au port //Fichier excel généré qui a une taille anormale [RESOLU]
Récupérer une page en iso-8859-1, je deviens fouPhpAdmin : connexion impossible sous Wampserver [Résolu]
afficher infos autre page[Divers][Lecture]Utilisation de la bibliothèque portmidi : Pm_Read()
Plus de sujets relatifs à : [Résolu] Placer le code source d'une page web en buffer (Winnet)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR