Récupérer une page web à travers une page asp.net


Contenu du snippet

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/")%>

A voir également

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.