begin process at 2010 07 31 05:09:20
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

XML

 > LECTEUR RSS EN ASP SIMPLE, EN UN SEUL FICHIER

LECTEUR RSS EN ASP SIMPLE, EN UN SEUL FICHIER


 Information sur la source

Note :
8,67 / 10 - par 3 personnes
8,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :XML Niveau :Débutant Date de création :27/03/2004 Vu :24 850

Auteur : itcom3

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


 Description

Ce lecteur RSS en ASP est encore plus simple que notre version en PHP disponible sur le site codes-sources.com

Si vous disposez d'un hébergement en Windows ASP (Active Server Pages  vous pouvez récupérer facilement un fil d'information RSS par exemple d'un Blog et le publier directement sur  votre site.

De ce fait,  vous pouvez aussi bien utiliser  le programme ci-dessous pour afficher n'importe quel RSS.

Voici un exemple d'importation de notre fil RSS sur un de nos site Web en ASP :

http://www34.brinkster.com/itcom3/asprssreader.a sp?rssurl=http://ublog.com/itcom3/rss

Veillez à passer un argument rssurl avec l'adresse du fil que vous souhaitez afficher dans votre page ASP

A+,

Pierre

Source

  • <%
  • Option Explicit
  • Response.Buffer = true
  • Response.ExpiresAbsolute = Now () - 1
  • Response.Expires = 0
  • %>
  • <%
  • '-----------------------------------------------------------------------------
  • ' Name : ASPRSSReader.asp
  • ' Description : very sample RSS Reader in ASP
  • ' Company : ITCom3
  • ' Modify by : Pierre Rouarch
  • ' Date : March, 27, 2004
  • '--------------------------------------------------------------------------------
  • %>
  • <%
  • ' Variables
  • Dim myRSSURL, myRSSDocument, myNews, mychannelNodes, entry, myChannelTitle, myChannelLink, myChannelDescription, myBase, myitemNodes, item, myitemTitle, myitemLink, myitempubDate, myitemDescription
  • ' get RSS Address e.g : http://www.mysite.com/ASPRSSReader.asp?rssurl=http://www.rsssite.com/rssfile
  • myRSSURL=request("rssurl")
  • if Len(myRSSURL)=0 then
  • ' Change with your default RSS URL
  • myRSSURL = "http://www.u-blog.net/itcom3/rss"
  • end if
  • ' Load RSS file
  • set myRSSDocument = createObject("Msxml.DOMDocument")
  • myRSSDocument.async = false
  • myRSSDocument.setProperty "ServerHTTPRequest", true
  • myRSSDocument.load(myRSSURL)
  • ' Check if it 's loaded
  • If (myRSSDocument.parseError.errorCode <> 0) then
  • ' Save error in myNews for displaying
  • myNews = "XML error: " & myRSSDocument.parseError.reason
  • ' Continue if OK
  • Else
  • 'Get elements <channel>
  • set mychannelNodes = myRSSDocument.selectNodes("//channel/*")
  • for each entry in mychannelNodes ' Normaly one Channel
  • if entry.tagName = "title" then
  • myChannelTitle = entry.text
  • elseif entry.tagName = "link" then
  • myChannelLink = entry.text
  • elseif entry.tagName = "description" then
  • myChannelDescription = entry.text
  • ' Save all in myBase for displaying
  • myBase = myBase & "<h1>" & myChannelTitle & "</h1>"
  • myBase = myBase & "<p>" & myChannelDescription & "</p>"
  • myBase = myBase & "<p><a href='" & myChannelLink & "'>" & myChannelTitle & "</a></p>" & "<hr>"
  • end if
  • next ' next <channel> element
  • ' Get elements <item>
  • set myitemNodes = myRSSDocument.selectNodes("//item/*")
  • For each item in myitemNodes
  • if item.tagName = "title" then
  • myItemTitle = item.text
  • elseif item.tagName = "link" then
  • myItemLink = item.text
  • elseif item.tagName = "pubDate" then
  • myItempubDate = item.text
  • elseif item.tagName = "description" then
  • myItemDescription = item.text
  • ' Save all in myNews for displaying
  • myNews = myNews & myItempubDate & "<br>"
  • myNews = myNews & "<h2>" & myItemTitle & "</h2>"
  • myNews = myNews & "<p>" & myItemDescription & "</p>"
  • myNews = myNews & "<p><a href='" & myItemLink & "'>" & myItemTitle & "</a></p>" & "<hr>"
  • end if
  • next ' Next <item> element
  • ' Liberate Nodes
  • set mychannelNodes = nothing
  • set myitemNodes = nothing
  • End If ' if no error
  • %>
  • <html>
  • <head>
  • <title>Very Sample RSS Reader in ASP</title>
  • <meta http-equiv="Content-Type" content="text/html charset=iso-8859-1">
  • </head>
  • <body>
  • <%
  • Response.write myBase
  • Response.write myNews
  • %>
  • </body>
  • </html>
<%  
 Option Explicit 
 Response.Buffer = true 
 Response.ExpiresAbsolute = Now () - 1
 Response.Expires = 0
%>

<%
'-----------------------------------------------------------------------------
' Name   : ASPRSSReader.asp
' Description  : very sample RSS Reader in ASP
' Company  : ITCom3
' Modify by : Pierre Rouarch
' Date : March, 27, 2004
'--------------------------------------------------------------------------------
%>

<%
' Variables
Dim myRSSURL, myRSSDocument,  myNews, mychannelNodes, entry, myChannelTitle, myChannelLink, myChannelDescription, myBase, myitemNodes, item, myitemTitle, myitemLink, myitempubDate, myitemDescription


' get RSS Address e.g : http://www.mysite.com/ASPRSSReader.asp?rssurl=http://www.rsssite.com/rssfile
myRSSURL=request("rssurl")
if Len(myRSSURL)=0 then
 ' Change with  your  default RSS URL
 myRSSURL = "http://www.u-blog.net/itcom3/rss"
end if

' Load RSS file
set myRSSDocument = createObject("Msxml.DOMDocument")
myRSSDocument.async = false
myRSSDocument.setProperty "ServerHTTPRequest", true
myRSSDocument.load(myRSSURL)

' Check if it 's loaded
If (myRSSDocument.parseError.errorCode <> 0) then
 ' Save error in myNews for displaying 
 myNews =  "XML error: " & myRSSDocument.parseError.reason
' Continue if OK
Else

 'Get elements <channel>
 set mychannelNodes = myRSSDocument.selectNodes("//channel/*")

 for each entry in mychannelNodes   ' Normaly one Channel
  if entry.tagName = "title" then
   myChannelTitle = entry.text
  elseif entry.tagName = "link" then
   myChannelLink = entry.text
  elseif entry.tagName = "description" then
   myChannelDescription = entry.text
   ' Save all in myBase for displaying 
   myBase =  myBase & "<h1>" & myChannelTitle & "</h1>"
   myBase =  myBase & "<p>" & myChannelDescription & "</p>"
   myBase =  myBase &  "<p><a href='" & myChannelLink & "'>" & myChannelTitle & "</a></p>" & "<hr>"
 end if
 next ' next <channel> element


 ' Get elements <item>
 set myitemNodes = myRSSDocument.selectNodes("//item/*")

 For each item in myitemNodes
  if item.tagName = "title" then
   myItemTitle =  item.text  
  elseif item.tagName = "link" then
   myItemLink =  item.text 
  elseif item.tagName = "pubDate" then
   myItempubDate =  item.text 
  elseif item.tagName = "description" then
   myItemDescription =  item.text 
   ' Save all in myNews for displaying 
   myNews = myNews &  myItempubDate & "<br>" 
   myNews = myNews & "<h2>" & myItemTitle & "</h2>" 
         myNews = myNews & "<p>" & myItemDescription & "</p>"
   myNews = myNews & "<p><a href='" & myItemLink & "'>" & myItemTitle & "</a></p>" & "<hr>"
  end if

 

 next ' Next <item> element

 ' Liberate Nodes
 set mychannelNodes = nothing
 set myitemNodes = nothing


End If ' if no error

%>


<html>
<head>
<title>Very Sample RSS Reader in ASP</title>
<meta http-equiv="Content-Type" content="text/html charset=iso-8859-1">
</head>
<body>


<%
Response.write myBase
Response.write myNews
%>

</body>
</html>



 Conclusion

Merci à Ublog.com pour l'hébergement de notre Blog
Merci à Brinkster.com pour nos hébergements en ASP


 Sources de la même categorie

AJOUTER UN NOEUD DANS UN FICHIER XML DÉJÀ EXISTANT par pkzip
BASE DE DONNÉ BDD VERS XML : CONVERSION D'UN RECORDSET VERS ... par pifou25
Source .NET (Dotnet) GÉNÉRATION D'UN XML À PARTIR D'UNE BDD ACCESS par fabienfs
Source avec Zip LECTEUR DE FLUX RSS OBJET par Yoyo2B
Source avec Zip Source .NET (Dotnet) TRANSFORMATION XSLT POUR OBTENIR DU CODE XTML VALIDE À INTÉG... par saizonou

Commentaires et avis

Commentaire de Draconagi le 04/04/2005 15:41:44

Je n'arrive pas a faire marcher ton code.
je viens de commencer en asp.
Tu pourrais m'expliquer.

Merci d'avance

Commentaire de poiutyh le 19/01/2006 18:40:32

Tout d'abord, merci à toi pur ce script très utile et bravo pour ton travail.

J'aurais juste une question, je souhaiterais afficher seulement la première news de mon blog via ton lecteur RSS. Actuellement le script lit l'ensemble de mes news et je voudrais juste afficher la dernière en cours.

Une petite piste ??

Merci et logue vie à la communauté ASPFr.com

Commentaire de itcom3 le 19/01/2006 19:03:16

J'ai répondu par mail mais voici aussi la réponse pour les autres:

Il suffit de mettre un compteur dans la boucle for each des items et de ne renseigner que les items voulus ou encore sortir de la boucle. Normalement l'item le plus récent se trouve au début du fichier xml.

exemple

myNbrItem=0
For each item in myitemNodes
   if item.tagName = "title" then
    myItemTitle = item.text
   elseif item.tagName = "link" then
   myItemLink = item.text
   elseif item.tagName = "pubDate" then
    myItempubDate = item.text
   elseif item.tagName = "description" then
    myItemDescription = item.text
    ' Save all in myNews for displaying
    if myNbrItem < n then # Choisir n
    myNews = myNews & myItempubDate & "<br>"
    myNews = myNews & "<h2>" & myItemTitle & "</h2>"
          myNews = myNews & "<p>" & myItemDescription & "</p>"
    myNews = myNews & "<p><a href='" & myItemLink & "'>" & myItemTitle & "</a></p>" & "<hr>"
    
    else
       myNbrItem = myNbrItem + 1
    end if

   end if
  

  

Commentaire de poiutyh le 20/01/2006 11:10:06

Ok je craque. L'ASP n'a jamais été mon fort et je suis incapable de sortir le premier item seulement sur mon fichier XML.

Voici ma manipulation, J'ai supprimé dans ton script les lignes 61 à 78 et remplacé par ce que tu nous à indiqué :

or each item in myitemNodes
   if item.tagName = "title" then
    myItemTitle = item.text
   elseif item.tagName = "link" then
   myItemLink = item.text
   elseif item.tagName = "pubDate" then
    myItempubDate = item.text
   elseif item.tagName = "description" then
    myItemDescription = item.text
    ' Save all in myNews for displaying
    if myNbrItem < 2 then
    
    # J'ai bien indiqué une valeur à N mais toujours erreur ASP.
    
    myNews = myNews & myItempubDate & "<br>"
    myNews = myNews & "<h2>" & myItemTitle & "</h2>"
          myNews = myNews & "<p>" & myItemDescription & "</p>"
    myNews = myNews & "<p><a href='" & myItemLink & "'>" & myItemTitle & "</a></p>" & "<hr>"
    
    else
       myNbrItem = myNbrItem + 1
    end if
   end if


J'ai toujours une erreur ASP. Je voudrais juste récupérer la première item de mon fichier XML. Et par la suite n'afficher que les 120 premier caractères du tag description.

Ton script me sert de base, il est vraiment très utile et il me semble qu'il n'existe pas à ma connaissances beaucoup d'agrégateur RSS/ASP.
Donc merci énormément pour ton travail !

Commentaire de itcom3 le 20/01/2006 14:43:50

OOOPs

1) j'ai fai une petite erreur dans la boucle;

2) j'ai oublié de déclarer la variable myNbrItem

Voici le code :


DIM myNbrItem ' on peut aussi le declarer avec les autres au dessus
For each item in myitemNodes
   if item.tagName = "title" then
    myItemTitle = item.text
   elseif item.tagName = "link" then
   myItemLink = item.text
   elseif item.tagName = "pubDate" then
    myItempubDate = item.text
   elseif item.tagName = "description" then
    myItemDescription = item.text
    ' Save all in myNews for displaying
    if myNbrItem < 2 then ' Choisir n
    myNews = myNews & myItempubDate & "<br>"
    myNews = myNews & "<h2>" & myItemTitle & "</h2>"
          myNews = myNews & "<p>" & myItemDescription & "</p>"
    myNews = myNews & "<p><a href='" & myItemLink & "'>" & myItemTitle & "</a></p>" & "<hr>"
    
    else
       ' nothing to do
    end if
     myNbrItem = myNbrItem + 1
   end if
  
--------

Voir l'effet sur un de mes sites avec 2 items:
http://www34.brinkster.com/itcom3/asprssreader.asp?rssurl=http://ublog.com/itcom3/rss

A+

Pierre

Commentaire de itcom3 le 20/01/2006 14:48:08

pour les n premiers cataractères à gauche d'une chaine utiliser la foction Left():

Left(StringToPullFrom,NumOfCharsToPull)
-returns the requested number of characters starting from the left side

Example:

str1 = "abcdefg"
Response.Write("The first three characters of str1 are " & Left(str1,3))

Result:
Prints "The first three characters of str1 are abc"

Commentaire de frodon46 le 07/09/2006 12:01:10

Bonjour,
tout d'abord bravo pour ce script génial (et c'est le seul que j'ai trouvé en ASP !). Il marche bien avec les flux que j'ai testé sauf 1 qui me fait arracher les cheveux. Pourtant c'est un flux RSS 2.0 émanant d'un site officiel tout à fait sérieux (la Caisse des Dépôts est le propriétaire du site). je vous donne l'URL pour que vous me disiez si comme moi vous n'obtenez qu'un article alors qu'il y en a plusieurs :
http://www.localtis.info/flux/localtis.xml

Et si quelqu'un comprend pourquoi cela ne marche pas, je suis preneur !
Merci d'avance.

@+
Frodon46

Commentaire de itcom3 le 07/09/2006 15:18:09

Le flux http://www.localtis.info/flux/localtis.xml ne semble pas conforme, on ne peut pas l'ouvrir avec Internet Explorer et dans Firefox il n'est pas reconnu en tant que fichier xml.

Le fait que cela vienne d'une grande entreprise n'est pas spécialement un gage de sérieux;

A+

Pierre

Commentaire de TooGood le 11/01/2007 16:46:38

Bonjour,
Je trouve le dernier commentaire de Pierre minimaliste et eronné, c'est pourquoi je me permet d'apporter des précisions quand à cette discussion :
un peu de  méthode, de recherche soupoudré d'une dose d'humilité.

1- Que faire pour tester la validaté d'un flux rss?
En premier lieu avant de mettre en cause la validaté d'un flux rss, d'une page web, d'une feuille de style ou de tout autre production Web, il est impératif d'utiliser les outils de validation adéquate en l'occurence pour les flux rss, il suffit d'utiliser le site suivant : http://feedvalidator.org/ qui nous renseigne sur 2 points :
a - le flux en question est totalement valide pour la norme RSS 2.0
b - 2 warning concernant la façon dont est servi le flux sont signalés ( une concernant le mime type du fichier et l'autre concernant l'encodage) dans les deux cas, ces warnings ne révèle pas d'erreur dans la lecture du flux.
Conclusion le flux est conforme à la norme poursuivont...

2 - Un point sur les navigateurs
a - Pour internet Explorer dans sa version 6 et précédente, il existe un bug relevé dans le support microsoft à cette adresse :
http://msdn.microsoft.com/workshop/networking/moniker/overview/appendix_a.asp. En fait IE 6 n'accèpte pas comme mime type application/xml d'ou le fait qu'il n'affiche pas cet url. Il existe un correctif pour ce problème http://support.microsoft.com/kb/239750/EN-US/.

b - Firefox en version 1.5 et précédente :
Firefox affiche l'url sous forme de fichier texte car il ne dispose pas d'un moteur de lecture de flux rss intégré (grosso modo il ne lit pas nativement les fichier xml autrement que sous forme de fichier texte)

c - Firefox et Internet explorer 7
Pour ces navigateurs de dernière générations, les moteur de rendu lisent nativement les flux rss sous forme de marque page dynamique ce qui prouve par l'exemple que le flux et valide pour une application capable d'exploiter la norme RSS 2.0

Poursuivons et essayons d'apporter finalement une piste de réflexion et un embryons d'amélioration de ce code sans s'acharner sur la caisse des dépots ce qui celà dit en passant n'apporte pas de solution au problème de frodon 46 (notre beau département du Lot ?)

1 - ce flux contien une image...sous la forme d'un enclosure... comment cette balise est traité par le script? Est-elle igonée et le script continu ou s'agit-il d'une condition d'arrêt. Une piste à creuser...effectuer un test en supprimant cette balise par exemple.

2 - il n'est jamais bon de récupérer un flux d'une url est de le charger en mémoire directement, imaginons que le dit flux soit d'une taille de plusieurs méga...qu'advient-t-il de la plateforme asp qui traite le script en ce cas....elle freeze. Même si ce n'est pas le cas pour cette url, il est préférable de procéder comme suit : récupérer l'information concernant la taille du fichier et si cette taille est raisonable alors écrire le fichier sur le serveur qui héberge le script ASP puis lancer la lecture du fichier télécharger sur son serveur. Ca réglera par ailleurs les warnings annoncé plus haut. Faite un test par exemple sur un poste client sous windows en récupérant le fichier sous firefox puis enregistrer le  localement et essayer de l'ouvrir avec IE 6.....Ca marche et le fichier xml est identique....

En espérant apporter un début de réponse à vos interrogation Frodon.


Commentaire de itcom3 le 11/01/2007 18:18:49

Merci pour ces précisions,

c'est vrai que j'ai été un peu rapide, c'est pour cela que j'avais mis "ne semble pas conforme," au lieu de "n'est pas conforme" ;-))

A+

Pierre

Commentaire de TooGood le 12/01/2007 09:30:55

De rien Pierre,
En complément, une autre difficulté peut survenir avec ce flux si votre script et mal développé à savoir que ce flux remplace les "&" commerciaux par ce code "&amp;" dans les urls ce qui correspond à une bonne pratique pour être conforme aux normes édictées du w3c. Or certains scripts que j'ai pu voir çà et là disposent d'une fonction qui automatise cette tache pour les flux  qui serait délivrés de façon non conforme.
Or certains de ces scripts ne tienne pas compte des flux qui ont déjà pensé à cette procédure ce qui a pour effet de coder l'url de cette façon www.site.com/mapage&amp;amp;param=value
ce qui a pour effet de rendre l'url inactive.

Dans ce cas désactiver la fonction de remplacement.
Bon courage à tous
Est-ce que finalement frodon a r"ussi à intégrer ce flux? car j'ai pu le trouver par ailleurs à cette adresse http://www.lamoooche.com/getRSS.php?idnews=2404 sous forme de marque page dynamique et ici en include php :http://www.lamoooche.com/2404,flux-rss-localtis,+les+acteurs+du+monde+local.html
Bon surf et n'oubliez pas
toogood is not so hard

Commentaire de lguiavarch le 13/02/2007 10:57:42

bonjour, et merci pour ce code.
pour ma part je n'arrive pas  à le faire fonctionner. je mis en dessous le code avec quelques commentaires sur les modifications que j'y ai apporté. Voilà j'espère que vous pourrez m'aider, j'y ai passé quelques heures mais là vraiment je sèche.
le lien du résultat : http://www.paysdolmes.org/test/testactu/actualite.asp
le code :
-----------------------------------------------------------<
%
Option Explicit
Response.Buffer = true
Response.ExpiresAbsolute = Now () - 1
Response.Expires = 0
%>

<%
'-----------------------------------------------------------------------------
' Name : ASPRSSReader.asp
' Description : very sample RSS Reader in ASP
' Company : ITCom3
' Modify by : Pierre Rouarch
' Date : March, 27, 2004
'--------------------------------------------------------------------------------
%>

<%
' Variables
Dim myRSSURL, myRSSDocument, myNews, mychannelNodes, entry, myChannelTitle, myChannelLink, myChannelDescription, myBase, myitemNodes, item, myitemTitle, myitemLink, myitempubDate, myitemDescription


' get RSS Address e.g : http://www.mysite.com/ASPRSSReader.asp?rssurl=http://www.rsssite.com/rssfile
'c'est peut être de la que viens mon erreur
myRSSURL=request("rssurl")
if Len(myRSSURL)=0 then
' Change with your default RSS URL -> j'ai mis l'adresse du lien xml
myRSSURL = "http://ns21918.ovh.net/flux/atom.xml"
end if

' Load RSS file
set myRSSDocument = createObject("Msxml.DOMDocument")
myRSSDocument.async = false
myRSSDocument.setProperty "ServerHTTPRequest", true
myRSSDocument.load(myRSSURL)

' Check if it loaded
If (myRSSDocument.parseError.errorCode <> 0) then
' Save error in myNews for displaying
myNews = "XML error: " & myRSSDocument.parseError.reason
' Continue if OK
Else

'Get elements <channel> -> j'ai remplacé channel par feed
set mychannelNodes = myRSSDocument.selectNodes("<feed>")
' Normaly one Channel -> j 'y ai mis les noms des tags correspondant à l arborescence de notre xml
for each entry in mychannelNodes
if entry.tagName = "title" then
myChannelTitle = entry.text
elseif entry.tagName = "link" then
myChannelLink = entry.text
elseif entry.tagName = "tagline" then
myChannelDescription = entry.text
' Save all in myBase for displaying
myBase = myBase & "<h1>" & myChannelTitle & "</h1>"
myBase = myBase & "<p>" & myChannelDescription & "</p>"
myBase = myBase & "<p><a href='" & myChannelLink & "'>" & myChannelTitle & "</a></p>" & "<hr>"
end if
next ' next <channel> element



' Get elements <item> -> pareil que pour channel j'ai remplacer par entry
set myitemNodes = myRSSDocument.selectNodes("<entry>")

For each item in myitemNodes
if item.tagName = "title" then
myItemTitle = item.text
elseif item.tagName = "link" then
myItemLink = item.text
elseif item.tagName = "issued" then
myItempubDate = item.text
elseif item.tagName = "content" then
myItemDescription = item.text
' Save all in myNews for displaying
myNews = myNews & myItempubDate & "<br>"
myNews = myNews & "<h2>" & myItemTitle & "</h2>"
myNews = myNews & "<p>" & myItemDescription & "</p>"
myNews = myNews & "<p><a href='" & myItemLink & "'>" & myItemTitle & "</a></p>" & "<hr>"
end if


next ' Next <item> element

' Liberate Nodes
set mychannelNodes = nothing
set myitemNodes = nothing


End If ' if no error

%>


<html>
<head>
<title>Actus de la ccpo</title>
<meta http-equiv="Content-Type" content="text/html charset=iso-8859-1">
</head>
<body>


<%
Response.write myBase
Response.write myNews
%>
</body>
</html>

Commentaire de itcom3 le 13/02/2007 14:14:52

Fais qq response.write pour voir ce que tu arrive à lire dans le flux

Commentaire de itcom3 le 13/02/2007 14:20:33

Tu peux aussi essayer :

set mychannelNodes = myRSSDocument.selectNodes("//feed/*")

Commentaire de frodon46 le 13/02/2007 14:46:30

Bonjour,
Je ne viens de lire qu'aujourd'hui vos contributions d'il y a un mois sur le Lecteur de Flux RSS en ASP.  Merci pour l'aide apportée, j'ai finalement utilisé un autre code (non-libre de droits, donc je peux malheureusement pas le diffuser) que m'a proposé une entreprise.

Cordialement,
Frodon46  (c'est bien le Lot !  ;-)  )

Commentaire de lguiavarch le 14/02/2007 09:56:54

salut et merci itcom3  pour vos réponses rapides,toutefois cela ne marche toujours pas avec ce flux.  

Itcom3 j'ai pas compris ta première réponse: "Fais qq response.write pour voir ce que tu arrive à lire dans le flux".

En ce qui concerne ta deuxième réponse, dans l'exemple ci dessus je me suis trompé de code car dans ce que je teste j'avais bien mis (//feed/*) et (//entry/*) au lieu de (<feed>) et (<entry>).

J'arrive très bien à faire fonctionner ce script avec un flux rss de mon site (cf www.paysdolmes.org -> les dernières actus) toutefois, avec le flux provenant de mon intranet rien y fait il me marque toujours la même erreur. le prestataire qui a développé l'intranet m'a fait parvenir plusieurs flux décrivants les actus à faire remonter sur internet et aucun  ne marche dans ce script:
http://ns21918.ovh.net/flux/rss.xml
http://ns21918.ovh.net/flux/rdf.xml
http://ns21918.ovh.net/flux/atom.xml

tout cela me dépasse un peu vu que je ne suis pas développeur. je ne veux pas faire bosser mon prestataire dessus d'une part car ce n'était pas compris dans le cahier des charges mais surtout parce qu'il est à la "bourre" sur la finalisation de l'intranet donc je ne veux pas lui faire perdre du temps sur ca.

Donc si un quelqu'un peut me donner une piste à explorer pour trouver une solution je lui en serai fort reconnaissant.

Commentaire de itcom3 le 14/02/2007 10:21:18

Les response.write c'est pour par exemple afficher les variables pour vois ce qui se passe

Je ne comprend pas le problème parce que sur mon site test en ASP j'arrive bien à lire le flux rss voir :

http://www34.brinkster.com/itcom3/asprssreader.asp?rssurl=http://ns21918.ovh.net/flux/rss.xml

Commentaire de lguiavarch le 14/02/2007 11:57:27

merci Itcom,
crois tu que cela provienne du serveur sur lequel est hebergé mon site internet?

Commentaire de lguiavarch le 14/02/2007 12:23:59

il y a du nouveau,
j'ai remplacé: myRSSURL = "http://ns21918.ovh.net/flux/atom.xml"
par
myRSSURL = "http://www.paysdolmes.org/test/testactu/actualite.asp?rssurl=http://ns21918.ovh.net/flux/rss.xml"
...

bon je vous rassure cela ne marche toujours pas mais en résultat j'ai :
XML error: La balise de fin head ne correspond pas à la balise de début meta.
(cf: http://www.paysdolmes.org/test/testactu/actualite.asp)

Je continu à nager dans l'inconnu ;-)

Commentaire de itcom3 le 14/02/2007 18:34:54

Non il se peut que tu n'es pas la même bibliothès MSxml que moi :
au lieu de :

myRSSDocument = createObject("Msxml.DOMDocument")

essaye :

myRSSDocument = createObject("Msxml2.DOMDocument")

Commentaire de itcom3 le 14/02/2007 18:44:40

Tu peux aussi essayer :


myRSSDocument = Server.CreateOject("Microsoft.XMLDOM")

Désolé pour le message précédent j'ai cliqué 2 fois, merci à l'admin de m'enlever le doublon

Commentaire de lguiavarch le 23/02/2007 09:27:54

merci pour ta réponse,
j'ai tout essayé et rien ne marche.
Peut être pourrais tu m'envoyer par ma messagerie le script que tu as utilisé et qui marche! j'ai peut être une erreur dans mon code qui fait que cela plante?
en tout cas encore merci pour tes réponses,

Commentaire de made2001 le 26/04/2007 10:08:34

tout d'abord merci pour ce code!

voici l'erreur que j'ai:  XML error: System error: -2147012889.

De quoi celà peut-il venir?
Le fait que je développe en local (serveur sous IIS6)?

Commentaire de itcom3 le 26/04/2007 14:34:00

Ce Problème vient certainement de la configuration de ton serveur IIS. Quelqu'un semble avoir eu le même problème sur ce site avec un code équivalent

voir ici :
http://www.aspfr.com/infomsg_CONNECTION-FLUX-RSS-SYSTEM-ERROR-2147012867_755735.aspx

Je fais d'autres recherches

Pierre

Commentaire de made2001 le 26/04/2007 15:21:08

Ne cherches plus!!! j'ai demandé de tester ton code en externe, sur notre serveur web et c'est passé direct! En fait c'était le firewall qui refusait que le fichier interne aille récupérer des données externes.

encore merci pour ce super script!!!
Matthieu

Commentaire de itcom3 le 26/04/2007 15:35:26

OK merci pour le tuyau,

Comme ça si quelqu'un a le même problème !!

Cordialement,

Pierre

Commentaire de emcor11 le 31/05/2007 17:28:34

Bonjour, je n'arrive pas à afficher les flux RSS car je passe par un proxy.

Quelqu'un aurait déja été confronté au problème ?

Merci

Commentaire de made2001 le 31/05/2007 17:35:09

c'était le même genre de soucis que j'avais et dès qu'il a été mis en ligne il a fonctionné!

Commentaire de emcor11 le 31/05/2007 17:45:49

Merci, mais mon environnement de production (intranet) est derrière un proxy.

Y a t'il un moyen de donner l'adresse du proxy dans mon fichier .asp ?

Merci

Commentaire de itcom3 le 01/06/2007 05:40:03

Microsoft explique ici :

http://support.microsoft.com/kb/315909/fr

comment contourner le problème de proxy lorque l'on utilise l'objet ServerXMLHTTPn en s'identifiant auprès du Proxy


Par exemple
<%
Response.ContentType="text/xml"
Dim xmlServerHttp
set xmlServerHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0")
xmlServerHttp.open "GET", "http://www.w3.org/xml/1998/06/diffspec.xsl", False
xmlServerHttp.setProxyCredentials "myUser", "myPassword"
xmlServerHttp.send
Response.Write xmlServerHttp.responsetext
%>

Je pense que notre cas doit pourvoir être résolu de la même façon.

A+

Pierre

Commentaire de emcor11 le 01/06/2007 14:26:54

Merci Itcom3, tu m'a montré la voie à suivre. En fouillant bien sur le net, j'ai trouvé la ligne qui m'interessait et ça fonctionne :

<b>xmlServerHttp.setProxy 2, "IP de mon proxy", ""</b>

J'ai inséré cette ligne juste en dessous de :
set xmlServerHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0").

En espérant que ça puisse aider d'autres développeurs !

Commentaire de itcom3 le 01/06/2007 15:54:34

Merci beaucoup pour le Feedback,

En effet, il me semble que d'autres développeurs avaient le même problème avec des proxies.

A+


Pierre

Commentaire de itcom3 le 15/06/2007 20:48:45

Pour récupérer la valeur d'un attribut dans un tag

Par exemple pour le tag enclosure (ceci peut être utile pour récupérer des podcasts ou des vlogs faire :
...
elseif item.tagName = "enclosure" then
myEnclosureText = item.text  ' ici il n'y a rien

myEnclosure_URL = item.getAttribute("url")
        myEnclosure_Length =  item.getAttribute("length")
myEnclosure_Type =  item.getAttribute("type")
....

Commentaire de badseyar le 14/09/2007 16:08:35

salut,

je suis dans le même cas que EMCOR11, seulement je ne vois pas comment résoudre ce souci dans le code fourni. Une petite aide serait le bienvenue

merci !

Commentaire de itcom3 le 14/09/2007 16:19:26

Précisément qu'est-ce que tu ne vois pas ?  Il me semble que la résolution du pb a été précisée dans les posts précédents ?

A+

Pierre

Commentaire de badseyar le 14/09/2007 16:23:29

je ne vois pas comment résoudre le problème :
- j'ai collé ton code dans ma page asp (sur un intranet)
- j'ai le message d'erreur -2147012889...
- et là, avec ce qui a été fourni, je ne sais pas quoi en faire, quoi changer dans le code

merci

Commentaire de itcom3 le 14/09/2007 22:49:59

as-tu bien regardé l'explication de Microsoft :

http://support.microsoft.com/kb/315909/fr

et les astuces de Emcor11 ?

Commentaire de badseyar le 17/09/2007 13:57:07

oui j'ai essayé, mais sans succès

Commentaire de itcom3 le 17/09/2007 16:22:47

Je ne sais que dire :  le code 2147012889 est bien un pb de proxy qui ne peut être contourné,

Fait nous un copié/collé de ton code

Pierre

Commentaire de badseyar le 17/09/2007 16:28:09

mon code est exactement le même que le tien, mais intégré dans une page lambda
je vais envoyer un MP à emcor11 en espérant qu'il m'apporte la lumière :-)

Commentaire de emcor11 le 06/01/2010 15:18:58

Petit feedback car nous avons changé de proxy (et de port) et mon lecteur RSS ne fonctionnait plus. Si le port de sortie est différent du port 80, il faut rajouter votre port à la suite de l'adresse du proxy (chez moi ":8080" par exemple).
Voici une petite amélioration dans la ligne de configuration du proxy (cf Post du 01/06/2007 14:26:54) :
xmlServerHttp.setProxy 2, "adresse du proxy:port", ""

Par exemple pour http://www.monproxy.com, avec le port 8080, on aurait :
xmlServerHttp.setProxy 2, "http://www.monproxy.com:8080", ""

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
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,296 sec (3)

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