VB/VB.Net Verificateur d'infos de compte dofus!

-FaLcOn-

Magouilleur
Inscrit
9 Mai 2012
Messages
44
Reactions
0
#1
Salut à tous!


On m'a donné une idée (merci N4P), celle de faire un programme qui se connecte sur des comptes dofus, indique si oui ou non ils sont bannis, leur durée d'abonnement restant, avec la possibilité d'avoir leur nombre d'ogrines affiché!
Et de pouvoir les abonner selon les ogrines disponibles aussi.

(et d'autre bonus mais déjà j'vais tenter de commencer par le commencement)

Pour le moment j'ai réussis à faire ça!



(oui, j'ai pas trouvé de mieux que la page de connexion correspondant à la 3ème étape d'abonnement d'un compte pour se connecter, les autres, mon programme confond les formulaires remplissables, et moi yen a pas comprendre pour choisir le formulaire adéquat)

Il fonctionne, bien qu'il ne détecte pas si les identifiants sont incorrectes.

Mon but final est d'avoir un système de gestion de comptes, ajoutables et sauvegardés, et de pouvoir vérifier à la suite, leur durée d'abonnement, leur état, etc.

J'veux pas faire le pessimiste mais .. :lol: J'pense pas y arriver! Mais j'ai l'envie.

Bref.

Ma première question est:

-Comment connecter un compte depuis cette url? http://www.dofus.com/fr/persos-guildes/recherche
Sachant que quand je clique sur connecter, il cherche "submit" sur la page, et qu'il y en a une pour la connexion, et une autre pour lancer la recherche, et que bien évidement mon programme prend le "recherche" :)

Ma deuxième question est:

-Comment afficher une valeur de la page sur mon programme? (ogrines par exemple)
Et comment organiser mon code? C'est sans doute mon plus gros défaut.. J'essaye, mais ça marche jamais!

Ma troisième question est:

-Comment afficher sur mon programme que les identifiants sont incorrectes/compte bannis?
Et dernière connexion!
Pour abonner un compte, il faut passer par le marché aux ogrines.. Wallah j'crois que c'est la partie la plus dure!
Aucune idée de comment faire! C'est de l'HTML au moins?

Voila! J'suis un ptit noob qui débute, l'oubliez pas! :cry:

Cordialement.
 

-FaLcOn-

Magouilleur
Inscrit
9 Mai 2012
Messages
44
Reactions
0
#4
Dernière édition par un modérateur:

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#5
Si tu veux faire un truc propre, analyse chaque ligne des sources de la page.

Par exemple une fois connecté, pour récupérer le pseudo, on peut trouver cette ligne:
<div class="hello">
Bonjour <a id="nicknamelinka" title="Gestion de compte" href="https://account.ankama.com/fr/votre-compte/profil" target="_blank"><span>alehdbsb</span></a> </div>
<div id="nicknameboxpopup">
"alehdbsb" étant le pseudo du compte.

Ensuite au niveau des échecs d'identifications, intéresse toi a ces lignes:
<div id="connectboxpopup">
<div class="infos_content">
<div class="infos_box" id="infos_box_login">
<span class="warning" id="errors_login_failed" style="display:none">Les identifiants sont incorrects</span>
<span class="warning" id="errors_login_ban" style="display:none">Banni</span>
<span class="warning" id="errors_login_locked" style="display:none">locked</span>
<span class="warning" id="errors_login_deleted" style="display:none">Supprimé</span>
<span class="warning" id="errors_login_bruteforce" style="display:none">Brute force</span>
<span class="warning" id="errors_login_blacklist" style="display:none">Back in black</span>
<span class="warning" id="errors_login_otptimefailed" style="display:none">L'Authenticator protège ce compte Ankama<br />
<br />
<span>1. Rendez-vous sur votre application Authenticator.</span><br />
<span>2. Sélectionnez votre compte.</span><br />
<span>3. Appuyez sur « débloquer »</span><br />
<span>4. Vous disposez de 30 secondes pour ressaisir vos identifiants.</span></span>
<span class="warning" id="errors_capslock" style="display:none">Attention vous écrivez en MAJUSCULES</span>
</div>
</div>
 

-FaLcOn-

Magouilleur
Inscrit
9 Mai 2012
Messages
44
Reactions
0
#6
Me revoila!

Alors je me suis lancé dans le webrequest, qui est finalement pas aussi compliqué que ce que j'imaginais. :)

Mais je rencontre un problème:



https://account.ankama.com/sso renvois vers un 404 not found!

J'ai essayé de trouver une alternative, en vain.. :D

Si vous pouviez m'aider sur ce coup là!
 

asyade

Membre Actif
Inscrit
26 Avril 2013
Messages
368
Reactions
1
#7
il fodrais que tu nous montre un peut ton code ca va étre dur de voire d'ou vien le probléme si non

et si non pour organiser ton code utilise les région, le variable private comme ca mNomDeLavar et des properity pour ce qui est pulic ensuite essay de toujours métre un type de retour a tes fonction (chose sue j'oubliait tout le temps en vb :3) et ensuite essaye de decouper ton code le pluss possible en fonctions\classes (une fonction pour chaque "action" effectuer plus de une fois si tu te tient a ces consigne ca devrais rentrer tout seul :p (utilise un maximume le region c'est trés pratique sur les gros fichier pour chacher certaine partie du code)
 

-FaLcOn-

Magouilleur
Inscrit
9 Mai 2012
Messages
44
Reactions
0
#8
Problème résolus, merci à Moon :3
Fallait utiliser webclient, plus simple, et fonctionnel!
 
Inscrit
7 Juillet 2013
Messages
13
Reactions
0
#9
Pourrais tu dire comment tu fais pour compléter le formulaire , et l'envoyer ? Car je boss sur un projet perso ( rien à voir avec le truc que tu fais ) mais je galère :'(
 
Inscrit
27 Aout 2012
Messages
264
Reactions
0
#10
On ne complete pas le formulaire.
On passe du coup par un WebClient, on appelle directement la page sso et on lui file les identifiants.
Il y a juste un detail, c'est que lorsque tu appelles une page sur le domaine dofus.com, tu recois un SID dans les cookies qui correspond a l'identifiant de session pour le domaine.
Or si tu appelles sso qui est sur le domaine ankama.com, tu recois un autre SID et du coup ta session n'est pas conservée entre les deux domaines.
Donc tu commences par appeler la page d'accueil de dofus.com, tu recuperes le SID que tu reinjectes a l'appel de sso (sur ankama.com) et ca devrait rouler.
 

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#11
Je sais pas si tu peux gérer les SESSID avec un webRequest... A voir, peut etre que je dis une connerie
 
Inscrit
27 Aout 2012
Messages
264
Reactions
0
#12
Non, tu peux, mais avec WebRequest c'est plus chiant de gerer tout ca.
WebClient est un "wrapper" pour WebRequest en quelque sorte.
T'as juste a réinjecter le SID pour les noms de domaines ankama et tout roule.
 
Haut Bas