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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 550 fois - Téléchargée 36 fois


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

Ajouter un commentaire

Commentaires

Messages postés
4
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
23 juillet 2007

Genial ton code mais mon pb quand j'ai des caracteres du genre :

é il ne me récupère pas le é ni le é mais me met un ? à la place as-tu une astuce pour palier à ce pb

encore merci pour le code
Messages postés
87
Date d'inscription
dimanche 16 décembre 2001
Statut
Membre
Dernière intervention
4 septembre 2004

Le problème, c'est que je ne suis pas propriétaire du serveur ... je ne peux donc pas y mettre cet OCX (enfin, si j'ai bien compris). Bon, tampis ... si tu a des nouvelles, previent moi STP ...
@+
Messages postés
5
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
1 mars 2004

pas encore, mais je n'ai pas continué à chercher. En atttendant mieux, j'utilise le composant OCX dont parle chnickel plus haut
Messages postés
87
Date d'inscription
dimanche 16 décembre 2001
Statut
Membre
Dernière intervention
4 septembre 2004

Kasiorn, a tu trouvé le moyen de faire la même chose en ASP ? Merci
Messages postés
5
Date d'inscription
jeudi 29 mai 2003
Statut
Membre
Dernière intervention
1 mars 2004

merci beaucoup ;)
et sinon je voudrais l'utiliser dans une application professionnelle que je développe, question portabilité et simplicité j'aimerais me passer d'avoir à installer un composant et trouver une méthoque ASP pure, est ce que c'est possible ?
Afficher les 11 commentaires

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.