Récupération du code html d'une url via jmail.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 707 fois - Téléchargée 37 fois

Contenu du snippet

Un code simple pour récupérer le code HTML retourné par une URL.
Idéal pour enregistrer au format HTML des pages dynamiques ASP, tester le contenue de pages pour voir si elles ont été modifiées, enregistrer le contenue d'une page dans votre basse de donnée...

Source / Exemple :


<%@ LANGUAGE = VBScript %>
<%
Response.Buffer = True
Response.Expires = 0
Response.ExpiresAbsolute=now() - 1

'Pour des tests changez cet URL
	URL_DE_DEMO = "www.google.fr"
' www.votresite.com/votrepage.asp?param1=1&param2=2... marche aussi !
' L'entête http:// n'est pas obligatoire.

function GetHTML_FromURL(votreURL)
	dim mail
		'*************************************
		' Récupération de page Web en ASP.	
		' Astuce simple nécessitant JMail.
		' .:| Yannick :: ANNECY :: FRANCE |:.
		'*************************************

	Set mail = Server.CreateObject("JMail.SMTPMail") 'Composant de www.duplo.se
	'Ce composant permet l'envoi d'un mail dont le contenu est une page web !
	
	mail.GetMessageBodyFromURL(votreURL)
	'On recupère la page que l'on veux, une page ASP ou PHP arrive en HTML (executée) !
		
	GetHTML_FromURL = ""& mail.HTMLBody &""
	'On renvoi le code HTML contenu maintenant dans la propriété HTMLBody
	
end function
%>
<HTML>
<TITLE>ASP .:|Yannick|:.</TITLE>
<BODY bgcolor="#C0C0C0">
<H1>RECUPERATION DE CODE HTML VIA ASP</H1>
<HR>
Le code source de <b><a href="<%if not ""&left(URL_DE_DEMO,7)&""="http://" then%>http://<%end if%><%=URL_DE_DEMO%>" target="_blank"><%=URL_DE_DEMO%></a></b>&nbsp;:<br>
<TEXTAREA cols="100" rows="25">
<%response.write GetHTML_FromURL(URL_DE_DEMO)
' Affiche le code HTML de l'URL sur votre page.

' PS :
' pour un enregistrement en base de donnée via SQL
' n'oubliez pas de faire un replace(CODE_HTML,"'","''")
' Car la page récupérée peut contenir des ' qui font foirer les requettes SQL !
%>
</TEXTAREA>
</BODY>

Conclusion :


Voilà, ca évite de jouer avec des Client Winsock sur le port 80 !

A voir également

Ajouter un commentaire

Commentaires

_Thy_
Messages postés
33
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
19 septembre 2005
-
Excellente solution mais je n'ai ni Jmail ni la possibilité de l'installer, ni bien sur .Net

Pour ceux qui sont dans mo cas (en asp "tout court") j'ai trouvé ceci qui fonctionne bien :
http://www.aspfaq.com/show.asp?id=2173
cs_Targos
Messages postés
26
Date d'inscription
samedi 18 janvier 2003
Statut
Membre
Dernière intervention
7 juillet 2008
-
Ca marche pas avec un lien ASP.NET (.aspx) !!!!!

Quelqu'un a la solution ?
cs_Yannick74
Messages postés
9
Date d'inscription
lundi 11 août 2003
Statut
Membre
Dernière intervention
26 février 2007
-
Peut être qu'il faut faire un mail.execute
En effet j'ai été surpris que le code de la page soit rapatrié directement sur le GetMessageBodyFromURL.

Je pense que dans ta version, le code ne sera rapatrié que sur un mail.execute , il faut voir si sans les paramètres minimum (serveur SMTP, adresse mail du SENDER et un DESTINATAIRE) ca peut marcher.

Sinon tu devras en plus renseignez tous ces paramètres (voir doc) pour que ca marche.

Et je te dis tous çà sans pouvoir tester.
cs_Bud
Messages postés
224
Date d'inscription
vendredi 14 septembre 2001
Statut
Membre
Dernière intervention
14 juillet 2006
-
Bon, j'ai la version 3.7 de Jmail, la fonction "GetMessageBodyFromURL" est implémentée, mais ça ne marche pas...
cs_Yannick74
Messages postés
9
Date d'inscription
lundi 11 août 2003
Statut
Membre
Dernière intervention
26 février 2007
-
Non je ne sais pas avec quelle version "minimum" de JMail ca marche.
Il y a juste a regarder dans la doc de ta version si la function "GetMessageBodyFromURL" est implémentée !

Fabrice, c'est vrai que j'ai cherché sur beaucoup de site, le problème se pose souvent, mais les solutions proposés sont souvent complexes.

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.

Du même auteur (cs_Yannick74)