CHARGER UNE PAGE HTML SOURCE OU TEXTE DANS UNE STRING
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009
-
14 nov. 2005 à 13:39
chibilou
Messages postés15Date d'inscriptionlundi 25 juin 2001StatutMembreDernière intervention15 juin 2006
-
15 juin 2006 à 16:32
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
for (;doc2.readyState!="complete";)
{
System.Windows.Forms.Application.DoEvents();
}
string source=doc2.body.innerHTML;
chibilou
Messages postés15Date d'inscriptionlundi 25 juin 2001StatutMembreDernière intervention15 juin 2006 15 juin 2006 à 15:05
Bonjour
J'ai le même problème !
Des fois mon programme récupère toute la page des fois juste le <Head> </Head>
Quelqu'un à t-il une idée ?
cs_cirrus
Messages postés12Date d'inscriptionmercredi 29 janvier 2003StatutMembreDernière intervention17 novembre 2006 8 juin 2006 à 10:35
Je suis obligé pour ma part de passer par Internet explorer (restriction du routeur).
J'utilise donc la propriété "innerHTML" pour récupérer les sources dans un string.
Mais je me retrouve souvent avec une page incomplète, coupé après la balise </HEAD> par exemple.
Est ce que cela peut venir de la limite de taille d'un string ?
Si oui comment faire autrement ?
Merci d'avance.
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009 14 nov. 2005 à 17:27
ps: HttpWebRequest est dans le framework1.1 (si vous ne le trouver pas)
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009 14 nov. 2005 à 17:25
En clair, il suffit de connaitre un peut l'HTTP (très facile) et construire la requête à envoyer.
L'avantage est de ne pas à avoir ouvrir ie (pour pas faire râler les utilisateur de firefox et gagner en ressources machines) et aussi pour pouvoir lire la réponse du serveur intégralement (les redirections, message 404, 403, ...).
C'est très utile pour allez sur des site avec accès restreint. Il suffit d'envoyer par POST le formulaire et renvoyer les cookies de sessions à chaque fois.
Bien sur c'est plus long à coder que l'exemple qui est présenté mais nettement plus efficace et plus pratique pour l'utilisateur final.
tchevalier
Messages postés1Date d'inscriptionlundi 30 mai 2005StatutMembreDernière intervention14 novembre 2005 14 nov. 2005 à 17:04
comment?
merci
cs_gomoz
Messages postés134Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention23 décembre 2009 14 nov. 2005 à 13:39
Il y a beaucoup plus simple (du point de vue utilisateur s'entend) avec System.Net.HttpWebRequest
15 juin 2006 à 16:32
mshtml.HTMLDocumentClass docObject=new mshtml.HTMLDocumentClass();
mshtml.IHTMLDocument2 doc2 =docObject;
mshtml.IHTMLDocument4 doc4=docObject;
doc2.writeln("<html></html>");
doc2.close();
doc2=doc4.createDocumentFromUrl(strUnLien,"");
for (;doc2.readyState!="complete";)
{
System.Windows.Forms.Application.DoEvents();
}
string source=doc2.body.innerHTML;
15 juin 2006 à 15:05
J'ai le même problème !
Des fois mon programme récupère toute la page des fois juste le <Head> </Head>
Quelqu'un à t-il une idée ?
8 juin 2006 à 10:35
J'utilise donc la propriété "innerHTML" pour récupérer les sources dans un string.
Mais je me retrouve souvent avec une page incomplète, coupé après la balise </HEAD> par exemple.
Est ce que cela peut venir de la limite de taille d'un string ?
Si oui comment faire autrement ?
Merci d'avance.
14 nov. 2005 à 17:27
14 nov. 2005 à 17:25
http://www.csharpfr.com/code.aspx?id=31186
et ici :
http://www.csharpfr.com/code.aspx?id=11403
En clair, il suffit de connaitre un peut l'HTTP (très facile) et construire la requête à envoyer.
L'avantage est de ne pas à avoir ouvrir ie (pour pas faire râler les utilisateur de firefox et gagner en ressources machines) et aussi pour pouvoir lire la réponse du serveur intégralement (les redirections, message 404, 403, ...).
C'est très utile pour allez sur des site avec accès restreint. Il suffit d'envoyer par POST le formulaire et renvoyer les cookies de sessions à chaque fois.
Bien sur c'est plus long à coder que l'exemple qui est présenté mais nettement plus efficace et plus pratique pour l'utilisateur final.
14 nov. 2005 à 17:04
merci
14 nov. 2005 à 13:39