Soyez le premier à donner votre avis sur cette source.
Snippet vu 15 680 fois - Téléchargée 28 fois
InternetExplorer ie; ie = new InternetExplorerClass(); Object o = null; ie.Navigate("votre url",ref o,ref o,ref o,ref o); //rend visible ie ie.Visible=true; //attend que la page soit chargée do { System.Windows.Forms.Application.DoEvents(); } while (ie.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE); //pour la source string source = ((mshtml.HTMLDocumentClass)(ie.Document)).documentElement.innerHTML; //pour le text string text = ((mshtml.HTMLDocumentClass)(ie.Document)).documentElement.innerText; ie.Quit();
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.
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.