Telemak67
Messages postés11Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention 4 janvier 2009
-
15 avril 2006 à 19:36
Telemak67
Messages postés11Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention 4 janvier 2009
-
19 avril 2006 à 19:29
Bonjour à tous,
peut - on piloter une page web à partir de delphi..?
Pour l'instant j'ai réussi à lancer la page web, par contre est ce que je peuts transmettre des paramètres à partir de delphi pour remplir par exemple des zones de saisies de la page web ou éventuellement transmettre le clic de souris à partir de lignes de codes de delphi vers la page web ?
elguevel
Messages postés718Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention22 novembre 20163 16 avril 2006 à 15:18
Il faudrai que tu pilote ton navigateur, mais si c'est juste pour obtenir un resultat tu peux directement communiquer avec l'adresse de ta page Web via l'adresse (j'ai fait des compos avec Wininet si tu veux) et tu peux ensuite passer des messages du type POST ou GET.
Telemak67
Messages postés11Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention 4 janvier 2009 16 avril 2006 à 16:09
Merci pour vos réponses...
Avec shellexecute , j'arrive à charger la page..pas de problèmes de ce coté là...
Par contre lorsque je veuts passer des paramètres avec shellexecute..aucun résultat..
J'ai beau regarder une page source, mais je n'arrive pas à transmettre la valeur du paramètre vers la page.
En fait je souhaiterais par exemple charger une page internet, et à partir de mon application delphi remplir les zones qui composent cette page internet à partir de saisies effectué sur une form de delphi....
Pour shématiser simplement :
je crée une forme et y place un edit et un bouton.
Le edit correspond par exemple à mon nom de login d'une page internet (ça peut être une zone quelconque de saisie de la page internet...mais c'est juste pour l'exemple...).
Donc à partir de mon application delphi je voudrais juste transférer le texte fournit dans le edi , vers la zone de saisie de nom de login de la page internet, puis éventuellement transmettre la validation (clic sur bouton de la form de delphi, pour valider le choix par exemple, qui lui va transmettre le signal de validation vers la page internet..) également par l'appli delphi...
Le but est dans un premier temps pédaguogique pour moi, et dans un deuxième temps, je souhaiterais créer une petite application de gestion en delphi ainsi qu' éventuellement (je dits bien éventuellement ..) de concevoir un petit site personnel..
Par conséquent, l'utilisateur rentrera par exemple son identifiant, etc... qui appelera automatiquement la page web, et transferera les données automatiquement vers la page web...
Bon je suis d'accord avec vous, il peut les saisir lui même sur la page web, mais c'est aussi pour faire un peu impression...
Mais bon tout celà est encore en projet...
elguevel, tes méthodes avec post et get m'interesserait, tu pourrais m'en dire plus..?
Encore merci pour vos réponses...
a+
Mais moi enfait je cherche actuellement à faire l'inverse, c'est a dire "lire" la page web par delphi pour récupérer des variables dans l'application, est ce que c'est possible et comment faire svp?
Merci, Julien
Vous n’avez pas trouvé la réponse que vous recherchez ?
Telemak67
Messages postés11Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention 4 janvier 2009 17 avril 2006 à 18:21
Salut, j'ai essayé avec le Twebbrowser, j'arrive à charger la page et à l'afficher....par contre je n'arrive pas à déterminer la syntaxe de get et de put... Si t'aurais des exemples ou un site m'entionnant l'utilisation de ces 2 fonctions...celà m'interesserait...
Dans l'exemple que tu cites il faut connaitre le nom des variables : '+pseudo+'&motdepasse='+motdepasse+" ..?
Ta question citation : >Mais moi enfait je cherche actuellement à
faire l'inverse, c'est a dire "lire" la page web par delphi pour
récupérer des variables dans l'application, est ce que c'est possible
et comment faire svp?<
m'interesse également car je pense que tu veuts récupérer les variables d'une page web dans ton appli et je suppose que tu veuts retransmettres les variables par des valeurs affectées ?
Il s'agit de celà qui m'interesserait beaucoup...
Je ne saits pas si t'as le livre delphi 7 de Oliver DAHAN et Paul Toth, mais il parlent d'un exemple de lecture de page HTML par TPC/IP... je ne sais pas si ça peut être un début..?
J'ai juste une autre question... : à quoi correspond le bouton réponse acceptée qui se trouve dans les posts ?.
a+
cs_Pingouin57
Messages postés67Date d'inscriptionsamedi 8 mai 2004StatutMembreDernière intervention16 décembre 2007 17 avril 2006 à 18:49
Salut,
Quand tu met réponse acceptée c'est comme si tu disais que tu as reçu une réponse correcte à ta question, or ce n'est pas le cas pour l'instant .
Pour utiliser la méthode get, c'est simple, tu créé des variables (variable1 et variable2 par exemple) dans delphi, et puis avec le twebbrowser tu l'envoie à une page web en ouvrant la page avec les liens get (http://www.google.fr/search?q=12345 => 12345 est la valeur de la variable q ici par exemple)
ça nous donne donc : WebBrowser1.Navigate('http://www.monsite.com/mapage.php?variable1='+variable1+'&variable2='+variable2); ça donne ce lien : http://www.monsite.com/mapage.php?variable1=abcdefg&variable2=coucou c moi
Les 2 variables envoyées à travers le lien sont utilisable sous php avec $_GET['variable1]; et $_GET['variable2'];
Ensuite, pour faire l'inverse, c'est a dire lire le contenu de la page, j'ai finallement trouvé comment faire; il faut utiliser Memo1.Text := WebBrowser1.OleObject.Document.body.innerText; et le contenu de la page sera écrit dans Memo1 (tu peux mettre une variable de type string a la place du memo bien sûr )
Voilà j'éspère avoir répondu à ta question sinon dis moi quels points je dois éclaircir car je n'ai pas le talent de toujours bien expliquer
Telemak67
Messages postés11Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention 4 janvier 2009 17 avril 2006 à 19:45
Salut, merci pour ta réponse rapide,
Quand tu parles de get citation > Les 2 variables envoyées à travers le lien sont utilisable sous php avec $_GET['variable1]; et $_GET['variable2']; > en fait tu parles du mot clef GET coté programmation web (PHP, HTML, etc...), mais non le mot clef GET sous delphi. En fait c'est la page web que l'on conçoie qui doit mentionner ce mot clef pour récupérer la valeur de la variable à partir de l'application delphi si j'ai bien compris..?
Désolé si j'ai du mal à suivre, mais je reprends un nouvel exemple :
J'ai une page web ( par exemple d'un site quelconque ...) avec des zones de saisies ( un formulaire en somme..) , par exemple nom, prénom, adresse, etc... qui est écrite en asp ou en html par exemple.
Sous Delphi :
Je conçoie une form, y place des composants TEdit, qui reprend les zones de saisies de la page internet ( nom, prénom, adresse, etc..) et à l'aide d'un clic de bouton toujours à partir de delphi complète automatiquement la page web (d'un site marchand quelconque par exemple,bon c'est juste pour l'exemple...) .
En illustration :
DELPHI
Nom : ____Dupont________
Prénom : _ Jean____________
Adresse : _____________
!
!
Clic Bouton -------------> envoi de l'information dans la page web du site : PAGE WEB SITE Alpha
Nom : _____Dupont___________
Prénom : __Jean______________
Adresse : ____________________
En faisant un clic droit avec la souris pour affichage du code source, on peuts trouver les variables utilisés du site, ou éventuellement delphi peut - il détecter les zones de saisies qui sont en place ?
Pour ton problème de faire l'inverse, c'est à dire lire le contenu de la page, j'ai également trouvé comme toi , t'était plus rapide pour la réponse...
Merci également pour le bouton réponse acceptée...
a+
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 17 avril 2006 à 20:40
Avec les composants Indy, et plus précisement TIdHTTP, tu peux:
- Récupérer une page web en interne dans ton application.
- Remplir les differents formulaires (tout ce qui est en HTML)
- Soumettre le formulaire et obtenir la réponse.
Commence donc par étudier Indy et tu trouveras la solution facilement.
++
Si tu ne te plantes pas ......
tu ne pousseras jamais
Telemak67
Messages postés11Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention 4 janvier 2009 18 avril 2006 à 19:19
Oui, j'ai déjà testé avec ce composant...sauf que ça ne marche pas forcément pour tous les sites...
Je pense que celà dépend du mode de conception de la page web , javasript, html, php;etc...?
a+
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 18 avril 2006 à 20:19
Oui mais non !
En fait, il y a deux sortes d'emmission de formulaires: la méthode GET et la méthode POST.
Si ta page utilise le mode Get tu fais TIdHTTPClient.Get(AURL: string)
sinon, tu fais TIdHTTPClient.Post(AURL: string)
Après, si tu parles de connections sécurisées, et tout le toutim, c'est normal que tu ne puisse pas le faire: le but de ces protocoles, c'est d'obliger l'utilisateur à valider lui même ses données: sécurité supérieure.
Mais par contre, il n'y a aucune différence entre javascript, php, aspx, ...
++
Si tu ne te plantes pas ......
tu ne pousseras jamais
Telemak67
Messages postés11Date d'inscriptionsamedi 15 avril 2006StatutMembreDernière intervention 4 janvier 2009 18 avril 2006 à 21:59
T'aurais éventuellement un lien ou un petit tuto sur l'ulitsation de GET et POST par TIdHTTPClient, etc...
J'ai le livre delphi7, ils en parlent mais n'appronfondissent pas le sujet, le sujet est traité pour Indy, mais il n'en disent pas plus sur les
méthodes POST et GET.
Ce soir je n'ai plus le temps de tester...mais je réessaierais un de ces soirs...
Encore merci
a+
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 19 avril 2006 à 15:33
"En faisant un clic droit avec la souris
pour affichage du code source, on peuts trouver les variables utilisés
du site, ou éventuellement delphi peut - il détecter les zones de
saisies qui sont en place ?"
=> Bien sur qu'il peut le faire. Grace a une expression régulière ... mais là, comme il n'y a pas d'analyseur standard dans Delphi (sauf en .NET) et que j'ai pas envie de poster celui que j'ai codé sur DelphiFr, je ne purrais pas t'aider.
Cherche donc du côte de HyperParse de notre ami JulioDelphi (Google car j'ai plus le lien)
Non, désolé, je n'ai pas de lien très précis vers un tutoriel.
Je peux par contre te conseiller la FAQ Delphi de www.developpez.com : Faq Delphi - Club d'entraide des développeurs francophones Il y a une rubrique Indy assez explicite.
@ ++
Si tu ne te plantes pas ......
tu ne pousseras jamais