IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web & réseau Delphi Discussion :

JSON indéfinie dans le TWebBrowser


Sujet :

Web & réseau Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Informatique industrielle
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informatique industrielle

    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Par défaut JSON indéfinie dans le TWebBrowser
    Bonjour,

    Étant fan du jeu ogame j'ai décidé de développer une application qui permet d'afficher diverse information. Par exemple pouvoir afficher la répartition des points.

    Pour faire cela, je me suis dit que je pourrai mettre un TWebBrowser afin de récupérer le contenue des pages lorsque je joue.

    Le problème est que lorsque je me connecte, j'ai un message d'erreur qui apparaît qui me dit que JSON est indéfini. J'ai donc fait des recherches sur internet et j'ai vu qu'il suffisait de mettre silent à true pour empêcher l'affichage de cette fenêtre. Je peux donc jouer en utilisant mon logiciel.

    Mais je me suis aperçu que si je me faisait attaquer, la flotte de l'ennemi n'apparaît jamais dans la vue générale. Je suis donc obliger de retourner sur un navigateur pour connaître l'heure et agir en conséquence.
    Afin d'éviter de faire cette manip j'ai fait des recherches pour pouvoir utiliser JSON via le TWebBrowser mais la je coince totalement.
    Je voulais donc savoir si vous aviez déjà utilisé JSON via le TWebBrowser ? et si oui pouvez vous m'expliquer votre méthode?

    Merci d'avance pour toutes vos réponses

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par Iznogood12 Voir le message
    Bonjour,

    Étant fan du jeu ogame j'ai décidé de développer une application qui permet d'afficher diverse information. Par exemple pouvoir afficher la répartition des points.

    Pour faire cela, je me suis dit que je pourrai mettre un TWebBrowser afin de récupérer le contenue des pages lorsque je joue.

    Le problème est que lorsque je me connecte, j'ai un message d'erreur qui apparaît qui me dit que JSON est indéfini. J'ai donc fait des recherches sur internet et j'ai vu qu'il suffisait de mettre silent à true pour empêcher l'affichage de cette fenêtre. Je peux donc jouer en utilisant mon logiciel.

    Mais je me suis aperçu que si je me faisait attaquer, la flotte de l'ennemi n'apparaît jamais dans la vue générale. Je suis donc obliger de retourner sur un navigateur pour connaître l'heure et agir en conséquence.
    Afin d'éviter de faire cette manip j'ai fait des recherches pour pouvoir utiliser JSON via le TWebBrowser mais la je coince totalement.
    Je voulais donc savoir si vous aviez déjà utilisé JSON via le TWebBrowser ? et si oui pouvez vous m'expliquer votre méthode?

    Merci d'avance pour toutes vos réponses
    JSON c'est juste une notation Javascript, donc ton problème est ailleurs
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre averti
    Homme Profil pro
    Informatique industrielle
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informatique industrielle

    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Par défaut
    ah ok xD

    Le problème viens donc de l’exécution de javascript. Pourtant j'ai lue que TWebBrowser fonctionne comme sur ie hors sur ie je n'ai pas ce soucis.

    Tu penses que c'est possible que javascript ne fonctionne pas sur le TWebBrowser?

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 094
    Par défaut
    A l'époque, j'ai aussi fait un programme qui au final pouvait totalement me remplacer pour gérer mes 200 comptes à Planetium
    C'était une sorte de mini-ogame, bcp de moins de JS et des failles de sécurité qui pouvait aller jusqu'à l'upload d'un fichier PHP via le système d'avatar qui permettait donc d'accèder à la DB MySQL !
    même des trucs basiques comme <javascript window.close> ou history.back pouvait être mis comme login, et comme afficher sur la page d'accueil était donc executer ...
    J'ai un jour tout arrêté, j'avais je pense coder tous les trucs fun, et je me suis inscrit ici sur dev.com ... ce qui encore plus chronophage vu ma curiosité naturelle ...

    il me semblait que tous développements pour assister le joueur avec des outils d'automatisation est proscrit ou très règlementé !
    Que ton compte joueur pourra être fermé si l'on s'apercçoit d'une utilisation de script non autorisé et que si tu as été assez "naïf" pour faire des allopass, ils seront perdus (si l'on considère que ce n'était pas déjà le cas)

    Au lieu de fatiguer, utilise les outils Ogame déjà développé et autorisé !
    Mais bon, il est vrai que jouer à Ogame est une perte de temps mais apprendre à programmer ça c'est utile donc finalement, tricher est plus interessant que de jouer ! A méditer !

    Sinon le TWebBrowser utilise normalement l'ActiveX d'internet explorer mais semble bcp d'options soient désactivés !

    Pense à faire un CoInitialize()\CoFinalize(), cela peut déjà aider !
    Le TWebBrowser reste fragile au JS, même silent ne masque pas tous les messages d'erreur du JS, perso, j'avais un timer qui fermait les fenêtre de la classe #32770 mais encore à l'époque 6 était la dernière version d'IE, ça date un peu !

    Pour le JSON, tu as des composants de Parsing pour le JSON mais tu ne pourrais rien n'intercepter, c'est des objets sérializés qui s'échangent en AJAX via des requêtes asychrones avec le ServeurWeb !
    je ne crois pas que les events comme FileDownload puisse indiquer l'échange d'objet
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre averti
    Homme Profil pro
    Informatique industrielle
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Informatique industrielle

    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Par défaut
    Ouais je sais que c'est interdit et je n'ai pas l'intention de faire un bot. Ça me ferai trop râler de perdre mon compte avec toutes les heures passés dessus xD

    Citation Envoyé par ShaiLeTroll
    Au lieu de fatiguer, utilise les outils Ogame déjà développé et autorisé !
    Mais bon, il est vrai que jouer à Ogame est une perte de temps mais apprendre à programmer ça c'est utile donc finalement, tricher est plus interessant que de jouer ! A méditer !
    Ouais j'ai vu tous ces outils et je m'en sert mais le fait de les programmer moi même est très intéressant car je découvre plein de chose.

    Citation Envoyé par ShaiLeTroll
    timer qui fermait les fenêtre de la classe #32770
    Je garde ce bout de code sous la main ça peut être très utile.

    Citation Envoyé par ShaiLeTroll
    je ne crois pas que les events comme FileDownload puisse indiquer l'échange d'objet
    Non ça ne peut pas le faire car l’événement ne se déclenche pas xD

    Je continue mais recherche peut être qu'il y a une solution.
    Sinon je changerai d'idée, je ferai peut être un programme qui récupère le contenue de firefox ou d'ie pour pouvoir récupérer les infos et les afficher sur le logiciel. A voir

    En tout cas merci pour vos réponses

  6. #6
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 094
    Par défaut
    Si tu as le courage, un plug-in FireFox serait le plus puissant !
    Regarde "web-developer" et "firebug", cela te permet de tracer tous flux échangés en HTTP simple GET\POST mais aussi les objets JSON échangés en requête asynchrones, avec le plug-in JSON tu peux avoir une jolie mise-en-page de l'objet

    Dans mon précédent taf, j'ai bcp utilisé ces outils, je m'occupais de la partie PHP qui générait XML ou JSON, mon collègue s'occupait de la partie cliente basé sur YahooLib qui utilisait le JSON pour générer ses DataTable et autres !

    Très pratique de voir que selon le JSON de PHP5 et le JSON généré par Zend JSON est différent, et plus ou moins supporté selon OS\Navigateur
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Ecrire dans un INPUT dans un TWebBrowser
    Par zymoplexil dans le forum Web & réseau
    Réponses: 3
    Dernier message: 04/03/2010, 17h20
  2. Charger une page depuis la mémoire dans un TWebBrowser
    Par dableuf dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/01/2006, 15h46
  3. Réponses: 3
    Dernier message: 19/10/2005, 03h01
  4. Comment modifier une page affichée dans un TWebBrowser ?
    Par dreamincoco dans le forum Composants VCL
    Réponses: 7
    Dernier message: 24/03/2005, 14h07
  5. Existe-t-il une fonction "Chercher" dans un TWebBrowser ?
    Par Michel Devaud dans le forum Composants VCL
    Réponses: 2
    Dernier message: 15/12/2004, 07h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo