Source HTML en c#

Fermé
davmin - 20 nov. 2012 à 08:03
 davmin - 23 nov. 2012 à 17:42
Bonjour,

Bonjour,
J'ai un petit soucis dans mon appli. J'ai un contrôle Web qui charge une page et je voudrais récupérer le source HTML... Je procède comme suite :

System.Net.WebClient WC = new System.Net.WebClient();
System.IO.Stream s = WC.OpenRead(Web.Url);
System.IO.StreamReader sr = new System.IO.StreamReader(s);
CodeSource = sr.ReadToEnd();

Je recupère bien ce qui ressemble à un source.. Cependant quand je charge la même page sous IE et que je fais click droit "recuperer la source", j'optiens pas du tout la même chose.. Après examen je me rends compte que le code source obtenu par code 'n'est pas juste... En effet la page que je veux analyser sont les infos d'un de mes comptes internet sur un site de jeux.. Je peux me rendre compte alors dans le source obtenu que je ne suis pas loggé, car j'ai les balises d'inscription par exemple.... Alors que l'affichage dans le controle WebBrowser est lui correcte...

Comment expliquer cette différence d'affichage et de code obtenu ?
A voir également:

13 réponses

Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
20 nov. 2012 à 08:27
Tu le dit toi même
dans le source obtenu que je ne suis pas loggé
Dans un cas tu es logé dans l'autre non.
0
Mais pourquoi je ne suis pas loggué, alors qu'a l'affichage je suis loggué..

et j'ai beau me deloggué et me reloggué, l'obtention du source reste toujours la même : non-loggué !
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
20 nov. 2012 à 09:18
Le log tu le fait avec un explorateur, qui stocke des cookies et retient dans un fichier spécial tes mots de passe.
Avec le programme, il ne connais pas ces informations là et n'a pas accès aux cookies.
Il faut donc que tu modifies ton code en conséquence, regarde dans la documentation.
0
Quelle doc ?

J'ai beau prendre toutes les propriétés les unes après les autres y'a rien sous les cookies.. Y'a un autre contrôle à utiliser peut etre ?

C'est fou cette différence, commence il fait pour afficher alors s'il ne se sert pas des cookies ?
Qui plus est, après un test sous VB6, ça marche nickel avec le contrôle webbrowser...
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
Modifié par Freedomsoul le 20/11/2012 à 09:32
Parce que, si je ne me trompe pas, WebBrowser est basé sur IE, donc si tu es loggué via IE, il doit pouvoir accéder aux données du style cookies
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ca semblerait logique en effet :)
Mais comment, c'est la grande question !
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
20 nov. 2012 à 09:44
Pour faire ce que tu veux, Char Snipeur t'as indiqué la solution :)

En gros, Il faut que tu simules la requete effectuée pour te loggué et à ce moment là tu pourras récuéprer ce que tu souhaites ;)
0
euh oui merci, mais comment on fait ça ? :O/
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
21 nov. 2012 à 10:01
Alors là.... faut chercher dans la docs xD + Googler

Désolé :x
0
Heliotte Messages postés 1491 Date d'inscription vendredi 26 octobre 2012 Statut Membre Dernière intervention 28 janvier 2013 92
Modifié par Heliotte le 21/11/2012 à 10:12
sans vouloir empiéter, regarde si ton log et ton mot de passe passe dans la chaîne d'adresse, genre "http://www.trucmachin?login=tata&mdp=motdepasse"
0
Sur Google je trouve rien du tout :-/

Et pour le login et mdp, c'était une bonne idée mais non ça ne marche pas aussi simplement....

Y'a-t-il une autre solution peut etre ? Autre que le webbrowser je veux dire
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
21 nov. 2012 à 11:30
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
Modifié par Freedomsoul le 21/11/2012 à 11:31
cherche avec les mots clés "csharp web request" sur google
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
21 nov. 2012 à 11:37
https://docs.microsoft.com/en-us/dotnet/api/system.net.webclient?redirectedfrom=MSDN&view=netframework-4.8
il y a une ligne qui semble intéressante :
client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
ça ajoute une réponse au client, mais en cherchant, tu peux peut être lui dire d'aller chercher les proriétés de IE.
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
21 nov. 2012 à 11:43
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
Modifié par Freedomsoul le 21/11/2012 à 11:46
ça c'est pour ajouter l'header avant une requete :) il n'est pas question de récupérer des info's via ça ^^
mais c'est lié à la récupéreration des informations via la requete faite.
0
Mercii pour toutes vos réponses les gars....

Mais soit je suis débile (possiblité la plus probable) soit y'a rien que marche....

J'ai beau essayer tout dans tous les sens rien ne va..

A la base ça devait me prendre 1h ce truc, j'en suis déjà à plein d'heures de recherche et de test... pfffff
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
22 nov. 2012 à 08:20
http://devenir-bh.com/connexion-a-un-espace-membre-avec-curl/
pour te donner une idée de comment se connecter à un site avec un script.
0
Lol je comprends encore moins ce lien :D
0
En fait je suis passé sous VS2008 mais à la base j'avais commencé avec VB6.0 (hey oui il en faut encore).. Là j'ai aucun soucis de source code HTML.. Par contre à chaque chargement de page j'ai une erreur à cause d'un lien sur une map su le site "http://maps.gstatic.com" a cause d'un fichier .js...

On me demande si je veux continuer a excuter le script sur cette page... Oui/Non...
Quoi que je fasse l'erreur revient à chaque chargement de page.. Alors si quelqu'un à une idée de comment faire pour ne plus avoir ce message ?
0