[R] Outils reconnaissance IP en quelque seconde

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

[R] Outils reconnaissance IP en quelque seconde

#1

Message par locos974 »

Bonjour,

J'ai eu cette idée une GUI permettant que quand l'on clique sur le bouton OK soit :
- Cela dévoile notre IP local et Ip internet ou deux bouton Ok le 1er = Ip local et le 2éme = Ip internet

Voici le début de mon code très peu développé ( Que la GUI..).
Je pensais que cela aller être simple mais la preuve que non..
Je pensais aussi le faire par cmd mais aucune réussite sinon un site pour l'ip : mon-ip.com
► Afficher le texte


Cordialement.
Modifié en dernier par locos974 le mar. 01 nov. 2011 20:10, modifié 1 fois.
Cordialement Locos974.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2282
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#2

Message par jchd »

Aucun problème pour l'IP locale. Par contre, il te faut "sortir" pour voir ton IP Internet. Tu es généralement derrière un NAT.
Un peu comme quand un pilote de F1 veut prendre une photo de profil de lui-même conduisant sa bête...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#3

Message par locos974 »

Donc pour vous le mieux pour l'ip local et l'inviter de commande ou mon-ip.com ?
Cordialement Locos974.
Avatar du membre
jeanmimigab
Niveau 5
Niveau 5
Messages : 123
Enregistré le : sam. 08 oct. 2011 14:01
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#4

Message par jeanmimigab »

hello,

regarde ici pour récupérer l'IP via un Serveur dynamique et un petit Script.vbs
http://biblio.scl.free.fr/lire.php?doc=IP_script

:wink:
Avatar du membre
moi
Niveau 7
Niveau 7
Messages : 370
Enregistré le : sam. 09 juil. 2011 22:14
Localisation : devant sont ordinateur
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#5

Message par moi »

ou alors grace a une partie de ce petit script de TT22 : http://autoitscript.fr/forum/viewtopic. ... ilit=fobec...
le problème ce n'est pas un problème, le seul problème ici c'est nous.

j'aime NYAN CAT Image
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#6

Message par locos974 »

Pour le Script Autoit il faut déjà avoir sont IP or moi je veux la dévoilé avec mon script..

Sinon pour le script Vbs comment je récupère les donnée pour qu'il s'inscrive dans ma GUI ?
EDIT : sans ouvrir de programme en ayant que la GUI présente.
Cordialement Locos974.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#7

Message par mikell »

Code : Tout sélectionner

Global $my_IP
my_IP()
Msgbox(0,"", $my_IP)

Func my_IP()
Local $oHTTP1 = 0
$my_IP = "0.0.0.0"
$oHTTP1 = ObjCreate("Microsoft.XMLHTTP")
$oHTTP1.Open("GET","http://automation.whatismyip.com/n09230945.asp",0)
$oHTTP1.Send()
If $oHTTP1.Status = 200 Then $my_IP = $oHTTP1.Responsetext 
$oHTTP1 = 0
EndFunc
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#8

Message par locos974 »

Et comment je rattache ce code au miens ?
Cordialement Locos974.
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#9

Message par pierrotm777 »

Je vous propose ceci:
► Afficher le texte
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#10

Message par locos974 »

Merci beaucoup. J'avais essayé mais oublié une ligne ^^.
Cordialement Locos974.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#11

Message par matwachich »

Euuuuhhh... et la doc, vous connaissez??? Vous savez, la touche F1...
Une simple recherche dans la doc avec mot clé "ip" nous donne en 6e résultat: _GetIP
Et en 3e résultat: la liste des macros AutoIt avec celle-ci

Code : Tout sélectionner

[b]@IPAddress1[/b] - IP address of first network adapter. Tends to return 127.0.0.1 on some computers.
[b]@IPAddress2[/b] - IP address of second network adapter. Returns 0.0.0.0 if not applicable. 
[b]@IPAddress3[/b] - IP address of third network adapter. Returns 0.0.0.0 if not applicable. 
[b]@IPAddress4[/b] - IP address of fourth network adapter. Returns 0.0.0.0 if not applicable. 
 
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#12

Message par locos974 »

Alors là j'apprend une nouvelle chose le fameux F1 :mrgreen:
Cordialement Locos974.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#13

Message par mikell »

@matwachich
Franchement je préfère mon script à _GetIP() :shock:
D'ailleurs dans l'aide ya pratiquement le même avec Winhttprequest dans la COM Reference
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#14

Message par TT22 »

Et ça :

Code : Tout sélectionner

#include <String.au3>
$source1 = BinaryToString(InetRead("http://adresseip.sur-la-toile.com/",1))
$IP = _StringBetween($source1,"<h1>Votre adresse IP est ","</h1>")
MsgBox(64,"IP","Votre adresse IP internet est : "&$IP[0]&@CRLF&"Et votre adresse IP réseau est : "&@IPAddress1)
Cordialement,
TT22
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#15

Message par Iste »

mikell a écrit :@matwachich
Franchement je préfère mon script à _GetIP() :shock:
D'ailleurs dans l'aide ya pratiquement le même avec Winhttprequest dans la COM Reference
_GetIP() a pourtant de tres bons points de son coté :
- il s'agit d'une fonction présente dans les udf de bases donc évoluera avec AutoIt. Il est de plus souvent déconseillé de réinventer la roue.
- il exploite plusieurs sources.
- le code est mieux construit.
- il n'utilise pas de code externe.

Le votre est juste mieux dans sa façon de récupérer l'ip. Pas de découpe moche sur une page qui risque de changer.

Pour rendre ce code meilleur, déja, transformez votre procédure en fonction. Retourner l'ip et ne pas setter une variable globale, c'est plutôt crade.
Ensuite, n'utilisez pas l'objet Microsoft.XMLHTTP. Il est bien sympa mais AutoIt sais récupérer des sources par lui même. Laissez le faire. D'autant plus qu'étant compatible pour un large spectre d'os windows, c'est a l'interpréteur de gérer la compatibilité, ce que vous lui empêchez de faire.
Enfin, rajoutez d'autre sources, même si il faut chez elle découper du html.
A ce sujet, mieux vaut utiliser une regexp pour sortir l'ip que de découper du html qui risque fortement de changer.

edit : n'oubliez pas qu'il n'y a pas que les site spécialisés dans ce domaine qui peuvent nous donner l'info :
http://autoitscript.fr/ip.php
http://googlesystem.blogspot.com/2011/1 ... dress.html
Signez ici
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#16

Message par mikell »

Iste a écrit :Pour rendre ce code meilleur, déja, transformez votre procédure en fonction. Retourner l'ip et ne pas setter une variable globale, c'est plutôt crade.
Heu je n'avais pas l'intention de livrer un script clés en main, c'était juste pour montrer une méthode de manière très basique (charge à l'utilisateur d'en faire ensuite ce qu'il veut), et je suis surpris que vous ne l'ayez pas compris
Personnellement je n'ai aucun contentieux avec _GetIP, je n'ai certainement pas la prétention de faire aussi bien que les développeurs d'AutoIt mais j'aime bien Microsoft.XMLHTTP (et Winhttp.WinHTTPrequest.5.1 aussi d'ailleurs) alors je ne vois pas pourquoi je m'en priverais...
Que mon bout de code soit "mieux" ou pas, on s'en fout, c'est pas le but. Montrer une méthode alternative ça peut être intéressant, on râle tout le temps après les gens qui font du copier-coller sans chercher à comprendre, alors vous pouvez concevoir que "laissez faire autoit" n'est pas un argument qui me touche spécialement, même si c'est une solution à la fois plus "propre" et plus facile
Idem, j'utilise un site pour avoir l'IP, vous en utilisez d'autres, et après ? chacun ses goûts... :roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#17

Message par Iste »

Que les choses soient claires, je n'ai rien contre votre script, qui marche et n'est pas mauvais (pas de ligne inutile ou de bout de code a "risque")
Et bien évidement, un bon exemple de plus ne peut être que bénéfique pour le forum. C'est pour cela que je n'ai rien répondu a ce moment, d'autant plus que le sujet semblait être clos.

Ce sur quoi j'ai réagit est le fait qu’après que matwachich ai cité _GetIP() vous disiez préférer votre fonction sans vraiment expliquer pourquoi.
Et la, que vous préférez la votre ne me dérange en rien, chacun ses choix, mais il faut par la suite argumenter affin d'expliquer pourquoi.

Mettant les deux fonctions cote a cote j'en ai tiré les bon points que j'ai vu.
Mon 3em § est plus une notice pour améliorer la fonction qu'une réponse directe pour vous la faire changer.

Donc oui, a ce niveau on ne cherche pas a savoir quelle fonction est mieux que l'autre, mais on ne se fiche pas de savoir les avantages des différentes solutions a partir du moment ou quelqu'un dit en préférer une.

Sinon, en effet, il ne faut pas tout copier coller, mais il faut comprendre qu'il y a deux types de code :
- du code propre a son scripte
- du code généraliste
Avec AutoIt cette différence est tres marqué (code principal vs fonctions)
C'est uniquement le code propre a son scripte que l'on ne doit pas copier coller. Les outils développés par d'autre eux ne doivent pas être réinventé sans raison. Et dans ce cas précis, on parle d'un outil.
Vous devez bien comprendre cela, car pour remplacer les fonctions livrées avec AutoIt il faut de bon arguments.
Libre a vous de faire ce que vous voulez dans vos script, mais pour le forum, il vaut mieux essayer de donner les meilleur réponses possible pour les débutant qui les liront.

Pour le site, bah justement je dis que le votre est tres bien... Mais qu'il vaut mieux ne pas se limiter a un seul. Pour cela je donne pas d'autre site, mais d'autre idée pour en trouver.

Bref, sinon, vous auriez pu simplement défendre votre point de vu. Car comme je l'ai dis, pour réinventer la roue il faut avoir des arguments, et vous auriez pu en sortir de tres bons !
Par exemple, _GetIP() est une vielle fonction antérieur a InetRead() et utilise donc des fichiers.
_GetIP() découpe les chaine html pour trouver l'ip, si jamais http://www.whatismyip.com localise mon ip pour me répondre en français, le script ne marchera plus.
Enfin, l'utilisation de InetGet() ou InetRead() peut etre bloqué par les site utilisés si un jour, il décide de ne pas suporter les scripts AutoIt (qui ne cliquent pas sur les pubs) ou si HttpSetUserAgent() est mal utilisé.
Signez ici
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#18

Message par mikell »

Hmm je comprends, mais réinventer la roue ça aurait été refaire l'équivalent d'une _GetIP avec de l'InetGet, une collection de StringMachin et création de fichier temporaire Image
Je vous remercie pour les excellents arguments que vous donnez et qui auraient dû être les miens si j'avais été informaticien, programmeur enfin ce genre de trucs mais professionnellement j'en suis à des kilomètres, il me manque donc qques compétences...
Non en fait les raisons de ma préférence sont bêtement triviales, c'est juste que l'idée de balancer environ 800 Ko d'includes simplement pour récupérer une adresse IP me dérange Image donc plutôt que de réinventer l'outil (ce que je ne fais absolument pas, ne vous en déplaise) je préfère en utiliser un autre, différent
Ou alors pour le plus grand bien du forum il faudrait expliquer aux débutants qu'il vaut mieux décortiquer l'include Inet.au3 pour en extraire la seule fonction _GetIP, mais alors quoi ? on ne laisse donc plus faire AutoIt ? bah c'est cornélien ... :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Outils reconnaissance IP en quelque seconde

#19

Message par Iste »

En programmation réinventer la roue, ca veut pas dire faire quelque chose de rond, mais quelque chose qui prend les même paramètre et en sort le "même" résultat.
Refaire la même fonction avec les même outils, c'est soit de l'optimisation, soit idiot ^^'
La seule différence entre votre fonction et celle fourni, est le passage par une variable globale.
A part cela, aucune différence vu de l’extérieur de la boite noire, donc a part les quelque cas ou cela peut etre utile, on a bien la un superbe nouveau prototype de roue !

Sinon, en effet, ne pas vouloir ajouter d'include pour si peu est un bon argument. Car si en théorie cela n'est pas censé être dangereux, en AutoIt ca peut le devenir tres rapidement (et même avec les udf livrées dans le pack)

Sinon oui, je pense que les débutants devraient regarder le code des fonctions qu'ils utilisent, mais AutoIt est un peu particulier car s'adressant a un public qui cherche en général a en finir le plus vite possible.

Mais dans tout les cas, AutoIt ne fait pas le code ! Par le laisser faire j’entends juste ne pas recréer les fonctions qui existent déjà, surtout les fonctions internes mais aussi les UDF de base qui ont eu le temps d’être examiner par de nombreuses personnes.

Mis a part ca, vous avez largement les compétences pour faire ces comparaisons, il faut juste prendre son temps et réfléchir aux conséquences.
Signez ici
Répondre