Pour l'ip local, il faut voir "ExamineIPAddresses()" dans l"aide de pb, sinon, j'ai 3 codes trouvés dans les forums:
Code : Tout sélectionner
;*****************************CODE 1****************************************
If OpenWindow(0,0,0, 70, 30, "IP",#PB_Window_ScreenCentered|#PB_Window_SystemMenu)
WebGadget(0, -10, -15, 150, 45, "http://ip-whois.net/img_ip1.php")
EndIf
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
;*****************************CODE 2****************************************
;GetIp.pbi V 1.00
;
;Create : 27 Aout 2012
;Update : 27 Aout 2012
;
;OS : Window, Linux, OSx
;PB 4.61
;
;
;Contributors
; Falsam
;
; Licence : Use As You Like
;
Declare InitISP() ;Lance une requete sur http://www.monip.org
Declare GetLanIp() ;Retourne l'adresse IP de l'ordinateur
Declare GetWanIp() ;Retourne l'adresse internet public
Declare.s GetISPInfo() ;Retourne le fournisseur d'acces internet
Declare.s GetProxyInfo() ;Utilisation d'un proxy oui ou non
Global Buffer.s
;
;Lance une requete sur le site monip.org
Procedure InitISP()
Protected File.l
ReceiveHTTPFile("http://www.monip.org", "index.php")
File=ReadFile(#PB_Any, "index.php")
If File
While Eof(File)=0
Buffer=ReadString(File)
If FindString(Buffer, "IP :")
Buffer=Trim(Mid(Buffer, 40))
EndIf
Wend
CloseFile(File)
EndIf
EndProcedure
;
;Retourne l'adresse IP de l'ordinateur
Procedure GetLanIp()
ExamineIPAddresses()
ProcedureReturn NextIPAddress()
EndProcedure
;
;Retourne l'adresse internet public : Celui de votre Box ou modem cable
Procedure GetWanIp()
Protected Ip.s, IP1.i, IP2.i, IP3.i,IP4.i
IP = StringField(Trim(Mid(Buffer, 1, 15)), 1, "<")
IP1 = Val(StringField(IP, 1, "."))
IP2 = Val(StringField(IP, 2, "."))
IP3 = Val(StringField(IP, 3, "."))
IP4 = Val(StringField(IP, 4, "."))
ProcedureReturn MakeIPAddress(IP1, IP2, IP3, IP4)
EndProcedure
;
;Retourne le fournisseur d'acces internet (Internet Service Provider)
Procedure.s GetISPInfo()
Protected PosStart.i, PosEnd.i
PosStart = FindString(Buffer, "<i>")
PosEnd = FindString(Buffer, "</i>")
ProcedureReturn Trim(Mid(Buffer, PosStart+3, PosEnd-PosStart-3))
EndProcedure
;Proxy ou pas
Procedure.s GetProxyInfo()
Protected PosStart.i, PosEnd.i
PosStart = FindString(Buffer, "<br><br>")
PosEnd = FindString(Buffer, "</font></html>")
ProcedureReturn Trim(Mid(Buffer, PosStart+8, PosEnd-PosStart-10))
EndProcedure
;Get Ip -Test
;IncludeFile "getip.pbi"
If InitNetwork()
InitISP()
Debug "Lan IP:"
Debug IPString(GetLanIp()) + " Computer : "+ Hostname()
Debug ""
Debug "WAN IP:"
Debug IPString(GetWanIp()) + " FAI : " + GetISPInfo()
Debug GetProxyInfo()
EndIf
;******************************CODE 3****************************************
Define NETWORK = #False
Define TCPIPv4 = #False
Define TCPIPv6 = #False
Define INTERNET= #False
If InitNetwork()
Define IP, IPv6$
NETWORK=#True
If ExamineIPAddresses(#PB_Network_IPv6)
Repeat
IP = NextIPAddress()
If IP
TCPIPv6=#True
IPv6$ = IPString(IP, #PB_Network_IPv6)
Debug "IPv6: " + IPv6$
FreeIP(IP)
EndIf
Until IP = 0
EndIf
Define IP, IPv4$
If ExamineIPAddresses()
Repeat
IP = NextIPAddress()
If IP
TCPIPv4=#True
IPv4$ = IPString(IP)
Debug "IPv4: " + IPv4$
EndIf
Until IP = 0
EndIf
Else
NETWORK=#False : Debug "Problème matériel ou logiciel sur le PC"
EndIf
DataSection
Liste_URL:
Data.s "http://api.ipify.org/?format=plain"
Data.s "http://ifconfig.co/ip"
Data.s "http://monip.outils-rezo.info/text"
Data.s "https://myip.dnsomatic.com"
Data.s "https://ipecho.net/plain"
Data.s "https://myexternalip.com/raw"
Data.s #Null$
EndDataSection
Define URL$, HttpRequest, StatusCode$, Response$, IPinternet$
Restore Liste_URL
Repeat
Read.s URL$
If URL$ <> #Null$
Debug URL$
HttpRequest = HTTPRequest(#PB_HTTP_Get, URL$, "", #PB_HTTP_NoRedirect)
If HttpRequest
StatusCode$ = Trim(HTTPInfo(HTTPRequest, #PB_HTTP_StatusCode))
Response$ = Trim(HTTPInfo(HTTPRequest, #PB_HTTP_Response))
FinishHTTP(HTTPRequest)
Debug "StatusCode: " + StatusCode$
Debug "Response: " + Response$
Debug #Null$
If StatusCode$ = "200"
INTERNET = #True
IPinternet$ = Response$
Break ; on teste toutes les URL jusqu'a en trouver une qui réponde
EndIf
EndIf
EndIf
Until URL$ = #Null$
Debug ""
Debug "NETWORK="+NETWORK
Debug "TCPIPv4="+TCPIPv4
Debug "TCPIPv6="+TCPIPv6
Debug "INTERNET="+INTERNET
Debug ""
Debug "IPv4="+IPv4$
Debug "IPv6="+IPv6$
Debug ""
Debug "IPinternet="+IPinternet$
End
Mesa.