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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 767 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

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
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 ?
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.
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...
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.
Afficher les 7 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.

Du même auteur (cs_Yannick74)