ASPIRE SOURCE WEB, CONNAITRE SON IP SUR LE WEB

x1fr Messages postés 4 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 29 juillet 2004 - 28 juil. 2004 à 19:24
lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 - 24 nov. 2006 à 18:09
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23538-aspire-source-web-connaitre-son-ip-sur-le-web

lex1111 Messages postés 220 Date d'inscription jeudi 30 mars 2006 Statut Membre Dernière intervention 26 octobre 2007 1
24 nov. 2006 à 18:09
Vraiment bien pour l'aspiration par internet... par contre, y a til moyen de passer par un proxy par cette méthode ?
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
22 mai 2006 à 12:02
merci de me tenir au courant a+
PWM63 Messages postés 127 Date d'inscription lundi 11 octobre 2004 Statut Membre Dernière intervention 18 mai 2016
18 mai 2006 à 13:34
Merci pour la fonction RetourneIP.

Je l'ai modifiée ainsi afin de toujours obtenir 1 IPv4 valide, quelque soit l'emplacement de l'IP sur le site.

Private Function RetourneIP() As String

Dim web As New System.Net.WebClient
Dim site As New System.IO.StreamReader(web.OpenRead("http://www.whatismyip.com"))
Dim ligne, caractère, ip, nombres() As String
'Fonction pour capturer l'adresse IP diponible sur http://www.whatismyip.com
'Etant donné que la position de l'adresse ip n'est jamais fixe,
'la fonction recherche une adresse ip valide (nombre point nombre point nombre point nombre)
While site.Peek > 0
'Lecture de la ligne suivante
ligne = site.ReadLine
ip = ""
For Each caractère In ligne
If (Asc(caractère) >= Asc("0") And _
Asc(caractère) <= Asc("9")) Or _
caractère = "." Then
'Ce caractère peut faire parti d'1 adresse IP valide
'On ajoute ce caractère dans la capture de l'IP
ip &= caractère
Else
'Ce caractère ne fait pas parti d'1 adresse IP valide
'L'IP capturée ne peut contenir que des chiffres et des points
'Vérification si l'adresse IP capturée est valide
'Stock les nombres dans 1 tableau
nombres = ip.Split(".")
If UBound(nombres) = "3" Then
'Il y a 4 nombres (de nombres(0) à nombres(3), et donc 3 points
'L'IP est donc valide
Return ip
End If
'IP non valide
'On efface la capture de l'IP
ip = ""
End If
Next
End While
End Function
murphy2712 Messages postés 7 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 29 juillet 2005
28 juil. 2005 à 15:37
Comme je l'ai expliqué brièvement, grâce à "Mid(MyLigne, 19, 16)" je récupère 16 caractères (1 de plus qu'une adresse ip maximale "xxx.xxx.xxx.xxx ", pour être sûr de tout avoir et aussi avoir au moins un espace après l'adresse ip.
Ensuite, "MyIP.Substring(0, MyIP.IndexOf(" "))" permet d'extraire de MyIP un certain nombre de caractères, ici je commence l'extraction à 0 et fini à MyIP.IndexOf(" "), c'est à dire dès que je trouve un espace.

MyIP.IndexOf(" ") => retourne l'index de la position de la chaîne " " (espace).

MyIP.Substring(0, x) => extrait de MyIP la sous-chaîne qui commence à l'index 0 et fini à l'index x.
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
28 juil. 2005 à 15:16
que fait cette ligne
MyIPOnTheWeb = MyIP.Substring(0, MyIP.IndexOf(" "))
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
28 juil. 2005 à 15:15
merci , je me suis rendu compte que whatismyip a change un peu son code depuis que j'ai fait ce code c pour cela
a+
murphy2712 Messages postés 7 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 29 juillet 2005
28 juil. 2005 à 11:18
Super, merci beaucoup car ca faisait un bout de temps que je cherchais un code en .NET pour récupérer mon IP Publique.
J'ai noté 8/10 car, bien que le code soit simple il n'est pas du tout commenté et aussi parce qu'il est un peu buggé ! En fait il récupère mal l'adresse IP :
Mid(MyLigne, 16, 14) -> ne récupère que les 14 premiers caractères alors qu'une adresse ip peut en faire jusqu'à 15 ! Et puis là où tu le prends (dans le ), le code n'est pas régulier car des fois ya écris :
<h1>Your IP - xxx.xxx.xxx.xxx

et des fois c'est :
Your IP Is xxx.xxx.xxx.xxx

ce qui décale d'un caractère !
J'ai corrigé en prenant le code dans <TITLE>, en prenant plus long et en coupant au premier espace :

Private Function RetourneIP() As String
Dim MyIP, MyLigne, Borne As String
Dim web As New WebClient
Dim Str As New StreamReader(web.OpenRead("http://www.whatismyip.com"))
While Str.Peek > 0
MyLigne = Str.ReadLine
Borne = Mid(MyLigne, 1, 4)
If Borne = "<h1>" Then
MyIP = Mid(MyLigne, 16, 14)
MyIPOnTheWeb = MyIP
Exit While
End If
End While
End Function

...devient...

Private Function RetourneIP() As String
Dim MyIP, MyLigne, Borne As String
Dim web As New WebClient
Dim Str As New StreamReader(web.OpenRead("http://www.whatismyip.com"))
While Str.Peek > 0
MyLigne = Str.ReadLine
Borne = Mid(MyLigne, 1, 7)
If Borne = "<TITLE>" Then
MyIP = Mid(MyLigne, 19, 16)
MyIPOnTheWeb = MyIP.Substring(0, MyIP.IndexOf(" "))
Exit While
End If
End While
End Function

Ton aspirateur de source m'a bien servi pour analyser cela ;o)
blob73 Messages postés 55 Date d'inscription dimanche 15 août 2004 Statut Membre Dernière intervention 20 juin 2005
17 sept. 2004 à 17:10
ouaip et pour connaitre ton ip publique ya

www.whatismyip.com

qui te renvois ton adresse ip publique
:)
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
29 juil. 2004 à 17:03
remplace le code du btn par celui ci, pour le "é" tu aura é

Private Sub Envoyer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Envoyer.Click

Dim s As String
Dim Web As New WebClient
Dim t As New System.Text.UTF8Encoding

Dim Str As New StreamReader(Web.OpenRead(TbURL.Text))
s = Str.ReadToEnd
Dim srw As New StreamWriter("C:\Source du site web.txt", False, t)
srw.Write(s)
srw.Close()

MsgBox("Votre fichier à été enregistré", MsgBoxStyle.Information, "Fichier OK")

End Sub

si tu trouve comment l'obliger a retourne a la ligne au lieu de mettre des carres dit le moi
a+
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
29 juil. 2004 à 16:46
essaie de rajouter le format au streamwriter peut etre qu'avec du bol :)
x1fr Messages postés 4 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 29 juillet 2004
29 juil. 2004 à 08:34
ce n'était pas une critique hein, juste une remarque pour information
parce que en fait c'est ce que je cherchais une solution qui gérait ces caractères sous la forme é
et du coup je n'ai toujours rien trouvé... aussi bien webrequest que webclient me récupère par exemple tlcharger au lieu de télécharger
cs_chris81 Messages postés 589 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 avril 2008 2
29 juil. 2004 à 07:21
non c vraiment une base pour ce qui veulent l'ameliorer.
x1fr Messages postés 4 Date d'inscription jeudi 27 mars 2003 Statut Membre Dernière intervention 29 juillet 2004
28 juil. 2004 à 19:24
ne prend pas en compte les éèà, etc.... :/
Rejoignez-nous