lex1111
Messages postés220Date d'inscriptionjeudi 30 mars 2006StatutMembreDernière intervention26 octobre 20071 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és589Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention29 avril 20082 22 mai 2006 à 12:02
merci de me tenir au courant a+
PWM63
Messages postés127Date d'inscriptionlundi 11 octobre 2004StatutMembreDernière intervention18 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és7Date d'inscriptionlundi 27 juin 2005StatutMembreDernière intervention29 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és589Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention29 avril 20082 28 juil. 2005 à 15:16
que fait cette ligne
MyIPOnTheWeb = MyIP.Substring(0, MyIP.IndexOf(" "))
cs_chris81
Messages postés589Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention29 avril 20082 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és7Date d'inscriptionlundi 27 juin 2005StatutMembreDernière intervention29 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és55Date d'inscriptiondimanche 15 août 2004StatutMembreDernière intervention20 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és589Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention29 avril 20082 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és589Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention29 avril 20082 29 juil. 2004 à 16:46
essaie de rajouter le format au streamwriter peut etre qu'avec du bol :)
x1fr
Messages postés4Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention29 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és589Date d'inscriptionjeudi 2 octobre 2003StatutMembreDernière intervention29 avril 20082 29 juil. 2004 à 07:21
non c vraiment une base pour ce qui veulent l'ameliorer.
x1fr
Messages postés4Date d'inscriptionjeudi 27 mars 2003StatutMembreDernière intervention29 juillet 2004 28 juil. 2004 à 19:24
24 nov. 2006 à 18:09
22 mai 2006 à 12:02
18 mai 2006 à 13:34
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
28 juil. 2005 à 15:37
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.
28 juil. 2005 à 15:16
MyIPOnTheWeb = MyIP.Substring(0, MyIP.IndexOf(" "))
28 juil. 2005 à 15:15
a+
28 juil. 2005 à 11:18
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)
17 sept. 2004 à 17:10
www.whatismyip.com
qui te renvois ton adresse ip publique
:)
29 juil. 2004 à 17:03
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+
29 juil. 2004 à 16:46
29 juil. 2004 à 08:34
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
29 juil. 2004 à 07:21
28 juil. 2004 à 19:24