IP Publique sans passer par PHP ou autre

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

IP Publique sans passer par PHP ou autre

Message par Fortix »

Salutation,

Est-il possible de récupérer l'adresse IP local ou publique d'un ordinateur sans passer par une page web: http://www.mon-ip.com/ ?

merci :D
Dernière modification par Fortix le dim. 16/sept./2007 16:56, modifié 1 fois.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

demarrer/executer => cmd

puis

ipconfig /all

voilou
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

pardon je voulais dir via le PureBasix, désolé :lol:
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

Juste au passage, c'est Pure BasiC lol :wink:

Tu peut sans problème récupérer l'ip via PB en fesans un invite de commande "invisible" :wink:
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

sauf qu'il est impossible d'obtenir l'adresse IP publique avec cmd, cmd renseigne uniquement sur l'adresse du pare feu, le masque réseau et l'adresse rootable :lol:, et quelques IP cripter mais je suis incapable de les décripter :oops:
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

bonjour,

pour recuperer ton ip avec purebasic j'ai sa :wink: :

Code : Tout sélectionner

Procedure.s OpenURL(Url.s, OpenType.b)
isLoop.b=1
  INET_RELOAD.l=$80000000
  hInet.l=0: hURL.l=0: Bytes.l=0
  Buffer.s=Space(2048)
 
  hInet = InternetOpen_("PB@INET", OpenType, #Null, #Null, 0)
  hURL = InternetOpenUrl_(hInet, Url, #Null, 0, INET_RELOAD, 0)
 
  Repeat
   
    Delay(1)
    InternetReadFile_(hURL, @Buffer, Len(Buffer), @Bytes)
    If Bytes = 0
      isLoop=0
    Else
      res.s = res + Left(Buffer, Bytes)
    EndIf
  Until isLoop=0
  InternetCloseHandle_(hURL)
  InternetCloseHandle_(hInet)
  ProcedureReturn res
  EndProcedure 
  
  
URL.s = ;entree votre url
HTML.s = OpenURL(URL, 1)
debut.l = FindString(HTML,"IP : ",1) + 5
fin.l = FindString(HTML,"END",1)
ip.s = Mid(HTML,debut,(fin - debut))
SetClipboardText(ip.s) 
MessageRequester("information", "votre ip est : "+ip.s+" est elle est copier dans le presse papier", 0)
A MINCE J'AVAIS PAS VU DANS LE TITRE
pas par php :oops:



@++
Dernière modification par venom le dim. 16/sept./2007 17:47, modifié 1 fois.
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
wolfjeremy
Messages : 1202
Inscription : sam. 31/déc./2005 23:52

Message par wolfjeremy »

venom refile pas l'adresse de la page php de mon hebergement à tout le monde, si tout le monde l'utilise je vais me retrouver avec une bande passante exploser mdr :lol:
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

:oops: desol no souci :wink:


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

Merci @venom :D comme tu viens de le remarquer je recherches une methode différente de la tienne c'est à dire sans passer par une page web
car cette methode est très instable :lol:
erix14
Messages : 480
Inscription : sam. 27/mars/2004 16:44
Contact :

Message par erix14 »

Ce code permet de connaitre l'adresse IP de ton ordinateur, mais si tu as un routeur, il te faut obligatoirement passé pas une page Web pour connaitre l'IP de ce dernier.

Code : Tout sélectionner

wsaversion.w = $101
If WSAStartup_(wsaversion, wsa.WSADATA) = #NOERROR
	ConputerName.s = Space(128)
	GetHostName_(@ConputerName, 128)
	*host.HOSTENT = gethostbyname_(@ConputerName)
	If *host <> #Null
		While PeekL(*host\h_addr_list + AdressNumber * 4)
			IpAddress = PeekL(*host\h_addr_list + AdressNumber * 4)
			ResultIP.s = StrU(PeekB(IpAddress),0)+"."+StrU(PeekB(IpAddress+1),0)+"."+StrU(PeekB(IpAddress+2),0)+"."+StrU(PeekB(IpAddress+3),0)
			AdressNumber + 1
		Wend
	EndIf
	WSACleanup_()
EndIf
Debug ConputerName + " : " + ResultIP
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

Merci @Erix14, ton code fonctionne bien, mais il me donne l'adresse du parfeu, en principe si je désactive le parfeu il doit pouvoir me donner la bonne adresse?? :idea:
erix14
Messages : 480
Inscription : sam. 27/mars/2004 16:44
Contact :

Message par erix14 »

Le parfeu n'a rien à voir, il ne fait que fileter les données. C'est le routeur (ta machin truc Box) qui déteint d'adresse IP pour aller sur le Web. Ton ordinateur lui ne connait que son adresse IP locale pour communiquer avec le routeur. Il te faut donc passer par une page PHP.
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

Merci pour ton explication @Erix14, comme tu l'as remarquer j'ais des lacunes concernant le réseau :oops:
Avatar de l’utilisateur
Fortix
Messages : 559
Inscription : mar. 30/mai/2006 17:03

Message par Fortix »

J'ais pensé à un truc, par exemple envoyer une requette au serveur DNS
pour qu'il nous retourne le résultat, techniquement c'est faisable, non??
Répondre