Cette fonction vous permet de récupérer une page HTML au travers d'une page ASP.Net
Cela ne m'a pas pris énormément de temps et vous avourez que c'est vraiment "simple" d'ouvrir des sockets désormais grâce à .Net (voir le code ci-dessous)
Source / Exemple :
Imports System.Net.Sockets
Imports System.IO
Public Function RecupHTTP(ByVal URL As String) As String
' Déclaration des variables
Dim LeDomaine As Integer
Dim LeURL As String = ""
Dim LeHost As String = ""
Dim LeChemin As String = ""
Dim Resultat As String = ""
Dim RecupHTTPChaine As String = ""
Dim WebClient As New TcpClient()
Dim WebStream As NetworkStream
Dim WebWriter As StreamWriter
Dim WebReader As StreamReader
' On découpe l'url envoyée en paramètre à la fonction
LeDomaine = InStr(UCase(URL), "HTTP://")
If LeDomaine > 0 Then
LeURL = Mid(URL, LeDomaine + 7)
Else
LeURL = URL
End If
LeDomaine = InStr(LeURL, "/")
If LeDomaine > 0 Then
LeHost = Mid(LeURL, 1, LeDomaine - 1)
LeChemin = Mid(LeURL, LeDomaine)
Else
LeHost = LeURL
LeChemin = "/"
End If
' On construit notre requete HTTP
RecupHTTPChaine = "GET " & LeChemin & " HTTP/1.1" & vbCrLf & "Host: " & LeHost & vbCrLf & "Connection: Close" & vbCrLf & vbCrLf
' On ouvre une socket sur le port 80
WebClient.Connect(LeHost, 80)
WebStream = WebClient.GetStream
WebWriter = New StreamWriter(WebStream)
WebWriter.Write(RecupHTTPChaine)
WebWriter.Flush()
WebReader = New StreamReader(WebStream)
' On stock la page html dans notre variable "Resultat"
Resultat = WebReader.ReadToEnd()
' On ferme la socket
WebStream.Close()
WebClient.Close()
' On renvoi ce que l'on a récupéré
RecupHTTP = Resultat
End Function
Conclusion :
Exemple d'utilisation de cette fonction :
mettez ce code dans votre page .aspx
<%=RecupHTTP("
http://www.google.fr/")%>
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.