begin process at 2012 05 27 07:23:02
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > RÉCUPÉRER UNE PAGE WEB À TRAVERS UNE PAGE ASP.NET

RÉCUPÉRER UNE PAGE WEB À TRAVERS UNE PAGE ASP.NET


 Information sur la source

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Source .NET ( DotNet ) Niveau :Initié Date de création :16/04/2002 Date de mise à jour :17/04/2002 00:12:59 Vu :17 555

Auteur : Nix

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note


 Description

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

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


 Sources du même auteur

Source avec une capture Source .NET (Dotnet) RÉCUPÉRER L'ADRESSE IP D'UN NOM DE DOMAINE AVEC ASP.NET
Source avec une capture Source .NET (Dotnet) FAIRE UN HISTORGRAMME (EN GIF) À LA VOLÉE EN ASP.NET
Source .NET (Dotnet) ENVOYER UN MAIL LORSQU'UNE PAGE GÉNÈRE UNE ERREUR
Source avec Zip UPLOADER UN FICHIER SANS COMPOSANT V2.0
CONVERTION DE DATE FRANÇAISE VERS UNE DATE ANGLAISE

 Sources de la même categorie

Source avec Zip UPLOAD ET SA GESTION VIA FSO par Caius_junioricus
Source avec Zip Source .NET (Dotnet) CLASSE AVEC QUE DES MEMBRES ET DES MÉTHODES STATIQUES POUR G... par tikrimi
Source .NET (Dotnet) ASP.NET - COMMENT OBTENIR LE CONTENU D'UNE PAGE WEB DISTANTE... par fabrice69
Source .NET (Dotnet) CLASSE .NET LISTANT LES ADRESSES MAC D'UNE MACHINE - COMPATI... par aKheNathOn
PING D'UNE LISTE DE POSTE : WHOSBAD par defrance

Commentaires et avis

Commentaire de vbtom le 17/04/2002 02:11:16

t1 c trop bien l'asp.net!!!
Jmy met!!!!!!

Commentaire de Big Jim le 26/04/2002 21:00:13

Le decoupage de l'URL peut même être simplifié à l'aide de la classe System.Uri...

Commentaire de Nix le 27/04/2002 03:01:11 administrateur CS

C'est vrai, mais j'ai pas encore fait le tour de .Net ;)
Mais promis, je mettrai une version plus simple quand j'aurais regardé cela

A++

Nix

Commentaire de MikeN le 12/12/2002 11:18:54

Hello
Je suis tout nouveau ds ASP.Net
J'ai installé tt ce ki faut (la short version distrib_quelquechose.exe 20Mo)

Et j'ai copié la fonction ci dessus, et son appel et voici le msg d'erreur :
Message d'erreur du compilateur: BC30035: Erreur de syntaxe.

Erreur source:



Ligne 1 :  <%=RecupHTTP("http://www.paperjam.lu/whoswho/details.html?id=50")%>
Ligne 2 :  <%
Ligne 3 :  Imports System.Net.Sockets
Ligne 4 :  Imports System.IO
Ligne 5 :  


Fichier source: D:1_M_I_K_AASP_net est.aspx    Ligne: 3



HELP please

Commentaire de Kasiorn le 29/05/2003 17:13:11

quelqu'un connaitrait il une solution ou un lien vers un équivalent en ASP tout court ?
merci d'avance

Commentaire de chnickel le 05/06/2003 13:05:15

Il y un OCX gratuit et simple d'emploi dans la categorie reseaux & internet. Si tu trouve pas, je te l'envoi...

Commentaire de Kasiorn le 05/06/2003 16:14:51

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 ?

Commentaire de Dino le 08/07/2003 13:38:12

Kasiorn, a tu trouvé  le moyen de faire la même chose en ASP ? Merci

Commentaire de Kasiorn le 08/07/2003 17:43:38

pas encore, mais je n'ai pas continué à chercher. En atttendant mieux, j'utilise le composant OCX dont parle chnickel plus haut

Commentaire de Dino le 08/07/2003 19:20:52

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 ...  
@+

Commentaire de epetegnief le 18/01/2006 11:50:24

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

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales