cs_Draconagi
Messages postés34Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention 9 octobre 2006
-
4 avril 2005 à 15:41
emcor11
Messages postés6Date d'inscriptionsamedi 8 mai 2004StatutMembreDernière intervention 9 avril 2010
-
6 janv. 2010 à 15:18
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
emcor11
Messages postés6Date d'inscriptionsamedi 8 mai 2004StatutMembreDernière intervention 9 avril 2010 6 janv. 2010 à 15:18
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", ""
badseyar
Messages postés11Date d'inscriptionmardi 14 mai 2002StatutMembreDernière intervention17 septembre 2007 17 sept. 2007 à 16:28
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 :-)
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 17 sept. 2007 à 16:22
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
badseyar
Messages postés11Date d'inscriptionmardi 14 mai 2002StatutMembreDernière intervention17 septembre 2007 17 sept. 2007 à 13:57
oui j'ai essayé, mais sans succès
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 14 sept. 2007 à 22:49
badseyar
Messages postés11Date d'inscriptionmardi 14 mai 2002StatutMembreDernière intervention17 septembre 2007 14 sept. 2007 à 16:23
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
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 14 sept. 2007 à 16:19
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
badseyar
Messages postés11Date d'inscriptionmardi 14 mai 2002StatutMembreDernière intervention17 septembre 2007 14 sept. 2007 à 16:08
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 !
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 15 juin 2007 à 20:48
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
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
emcor11
Messages postés6Date d'inscriptionsamedi 8 mai 2004StatutMembreDernière intervention 9 avril 2010 31 mai 2007 à 17:45
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
made2001
Messages postés9Date d'inscriptionjeudi 23 mars 2006StatutMembreDernière intervention29 juin 2007 31 mai 2007 à 17:35
c'était le même genre de soucis que j'avais et dès qu'il a été mis en ligne il a fonctionné!
emcor11
Messages postés6Date d'inscriptionsamedi 8 mai 2004StatutMembreDernière intervention 9 avril 2010 31 mai 2007 à 17:28
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
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 26 avril 2007 à 15:35
OK merci pour le tuyau,
Comme ça si quelqu'un a le même problème !!
Cordialement,
Pierre
made2001
Messages postés9Date d'inscriptionjeudi 23 mars 2006StatutMembreDernière intervention29 juin 2007 26 avril 2007 à 15:21
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
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 26 avril 2007 à 14:34
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
made2001
Messages postés9Date d'inscriptionjeudi 23 mars 2006StatutMembreDernière intervention29 juin 2007 26 avril 2007 à 10:08
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)?
lguiavarch
Messages postés5Date d'inscriptionlundi 23 octobre 2006StatutMembreDernière intervention23 février 2007 23 févr. 2007 à 09:27
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,
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 14 févr. 2007 à 18:44
lguiavarch
Messages postés5Date d'inscriptionlundi 23 octobre 2006StatutMembreDernière intervention23 février 2007 14 févr. 2007 à 09:56
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.
frodon46
Messages postés2Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention13 février 2007 13 févr. 2007 à 14:46
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 ! ;-) )
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 13 févr. 2007 à 14:20
Tu peux aussi essayer :
set mychannelNodes = myRSSDocument.selectNodes("//feed/*")
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 13 févr. 2007 à 14:14
Fais qq response.write pour voir ce que tu arrive à lire dans le flux
lguiavarch
Messages postés5Date d'inscriptionlundi 23 octobre 2006StatutMembreDernière intervention23 février 2007 13 févr. 2007 à 10:57
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
'--------------------------------------------------------------------------------
%>
' 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 & "" & myChannelTitle & "
"
myBase = myBase & "" & myChannelDescription & "
"
myBase = myBase & "" & myChannelTitle & "
" & "<hr>"
end if
next ' next <channel> element
' Get elements -> 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 & "
"
myNews = myNews & "" & myItemTitle & "
"
myNews = myNews & "" & myItemDescription & "
"
myNews = myNews & "" & myItemTitle & "
" & "<hr>"
end if
next ' Next 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>
<%
Response.write myBase
Response.write myNews
%>
</html>
TooGood
Messages postés2Date d'inscriptionjeudi 23 novembre 2006StatutMembreDernière intervention12 janvier 2007 12 janv. 2007 à 09:30
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 "&" 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&param=value
ce qui a pour effet de rendre l'url inactive.
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 11 janv. 2007 à 18:18
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
TooGood
Messages postés2Date d'inscriptionjeudi 23 novembre 2006StatutMembreDernière intervention12 janvier 2007 11 janv. 2007 à 16:46
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...
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.
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 7 sept. 2006 à 15:18
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
frodon46
Messages postés2Date d'inscriptionlundi 5 avril 2004StatutMembreDernière intervention13 février 2007 7 sept. 2006 à 12:01
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
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 20 janv. 2006 à 14:48
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"
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 20 janv. 2006 à 14:43
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 & "
"
myNews = myNews & "" & myItemTitle & "
"
myNews = myNews & "" & myItemDescription & "
"
myNews = myNews & "" & myItemTitle & "
" & "<hr>"
else
' nothing to do
end if
myNbrItem = myNbrItem + 1
end if
poiutyh
Messages postés3Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention13 octobre 2006 20 janv. 2006 à 11:10
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.
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 !
itcom3
Messages postés39Date d'inscriptionjeudi 25 mars 2004StatutMembreDernière intervention17 septembre 2007 19 janv. 2006 à 19:03
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 & "
"
myNews = myNews & "" & myItemTitle & "
"
myNews = myNews & "" & myItemDescription & "
"
myNews = myNews & "" & myItemTitle & "
" & "<hr>"
else
myNbrItem = myNbrItem + 1
end if
end if
poiutyh
Messages postés3Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention13 octobre 2006 19 janv. 2006 à 18:40
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
cs_Draconagi
Messages postés34Date d'inscriptionvendredi 9 avril 2004StatutMembreDernière intervention 9 octobre 20061 4 avril 2005 à 15:41
Je n'arrive pas a faire marcher ton code.
je viens de commencer en asp.
Tu pourrais m'expliquer.
6 janv. 2010 à 15:18
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", ""
17 sept. 2007 à 16:28
je vais envoyer un MP à emcor11 en espérant qu'il m'apporte la lumière :-)
17 sept. 2007 à 16:22
Fait nous un copié/collé de ton code
Pierre
17 sept. 2007 à 13:57
14 sept. 2007 à 22:49
http://support.microsoft.com/kb/315909/fr
et les astuces de Emcor11 ?
14 sept. 2007 à 16:23
- 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
14 sept. 2007 à 16:19
A+
Pierre
14 sept. 2007 à 16:08
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 !
15 juin 2007 à 20:48
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")
....
1 juin 2007 à 15:54
En effet, il me semble que d'autres développeurs avaient le même problème avec des proxies.
A+
Pierre
1 juin 2007 à 14:26
xmlServerHttp.setProxy 2, "IP de mon proxy", ""
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 !
1 juin 2007 à 05:40
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
31 mai 2007 à 17:45
Y a t'il un moyen de donner l'adresse du proxy dans mon fichier .asp ?
Merci
31 mai 2007 à 17:35
31 mai 2007 à 17:28
Quelqu'un aurait déja été confronté au problème ?
Merci
26 avril 2007 à 15:35
Comme ça si quelqu'un a le même problème !!
Cordialement,
Pierre
26 avril 2007 à 15:21
encore merci pour ce super script!!!
Matthieu
26 avril 2007 à 14:34
voir ici :
http://www.aspfr.com/infomsg_CONNECTION-FLUX-RSS-SYSTEM-ERROR-2147012867_755735.aspx
Je fais d'autres recherches
Pierre
26 avril 2007 à 10:08
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)?
23 févr. 2007 à 09:27
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,
14 févr. 2007 à 18:44
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
14 févr. 2007 à 18:34
au lieu de :
myRSSDocument = createObject("Msxml.DOMDocument")
essaye :
myRSSDocument = createObject("Msxml2.DOMDocument")
14 févr. 2007 à 12:23
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 ;-)
14 févr. 2007 à 11:57
crois tu que cela provienne du serveur sur lequel est hebergé mon site internet?
14 févr. 2007 à 10:21
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
14 févr. 2007 à 09:56
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.
13 févr. 2007 à 14:46
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 ! ;-) )
13 févr. 2007 à 14:20
set mychannelNodes = myRSSDocument.selectNodes("//feed/*")
13 févr. 2007 à 14:14
13 févr. 2007 à 10:57
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 & "" & myChannelTitle & "
"
myBase = myBase & "" & myChannelDescription & "
"
myBase = myBase & "" & myChannelTitle & "
" & "<hr>"
end if
next ' next <channel> element
' Get elements -> 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 & "
"
myNews = myNews & "" & myItemTitle & "
"
myNews = myNews & "" & myItemDescription & "
"
myNews = myNews & "" & myItemTitle & "
" & "<hr>"
end if
next ' Next 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>
<%
Response.write myBase
Response.write myNews
%>
</html>
12 janv. 2007 à 09:30
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 "&" 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&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
11 janv. 2007 à 18:18
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
11 janv. 2007 à 16:46
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.
7 sept. 2006 à 15:18
Le fait que cela vienne d'une grande entreprise n'est pas spécialement un gage de sérieux;
A+
Pierre
7 sept. 2006 à 12:01
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
20 janv. 2006 à 14:48
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"
20 janv. 2006 à 14:43
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 & "
"
myNews = myNews & "" & myItemTitle & "
"
myNews = myNews & "" & myItemDescription & "
"
myNews = myNews & "" & myItemTitle & "
" & "<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
20 janv. 2006 à 11:10
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 & "
"
myNews = myNews & "" & myItemTitle & "
"
myNews = myNews & "" & myItemDescription & "
"
myNews = myNews & "" & myItemTitle & "
" & "<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 !
19 janv. 2006 à 19:03
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 & "
"
myNews = myNews & "" & myItemTitle & "
"
myNews = myNews & "" & myItemDescription & "
"
myNews = myNews & "" & myItemTitle & "
" & "<hr>"
else
myNbrItem = myNbrItem + 1
end if
end if
19 janv. 2006 à 18:40
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
4 avril 2005 à 15:41
je viens de commencer en asp.
Tu pourrais m'expliquer.
Merci d'avance