Piloter une page web

Résolu
Telemak67 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Dernière intervention 4 janvier 2009 - 15 avril 2006 à 19:36
Telemak67 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Derniè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 ?

Merci d'avance..

15 réponses

elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
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.

Parce que c'est pour faire quoi en gros ?
3
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
16 avril 2006 à 15:41
Ou alors en utilisant shellExcecute avec ton adresse internet... Mais explique ce que tu veux précisément.


<HR width="100%" SIZE=2>
La paresse est la mère du génie...
0
Telemak67 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Derniè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+
0
cs_Pingouin57 Messages postés 67 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 16 décembre 2007
16 avril 2006 à 20:20
Salut c'est simple tu utilise GET pour transmettre les variables à la page, par exemple "http://www.monftp.net/mapage.php?pseudo='+pseudo+'&motdepasse='+motdepasse+" ensuite tu n'as plus qu'a inscrire l'user dans une base de donnée sql.

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
0

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

Posez votre question
cs_Pingouin57 Messages postés 67 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 16 décembre 2007
16 avril 2006 à 20:23
J'oubliais de préciser, tu peux faire le tout avec un TWebBrowser :)
0
Telemak67 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Derniè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+
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
17 avril 2006 à 18:38
Salut,
Pingouin57 pose une nouvelle question sur le forum avec un maximum de précisions pour espérer avoir une réponse.

En posant ta question ici tu as très peut de chance d'en obtenir une.

@+
Cirec
0
cs_Pingouin57 Messages postés 67 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 16 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

A+, Julien
0
Telemak67 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Derniè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+
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
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
0
Telemak67 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Derniè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+
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
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
0
Telemak67 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Derniè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+
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
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
0
Telemak67 Messages postés 11 Date d'inscription samedi 15 avril 2006 Statut Membre Dernière intervention 4 janvier 2009
19 avril 2006 à 19:29
oui, j'avais déjà consulté la faq de développez.com..
Mais bon je vais en rester là..
Merci pour les réponses...
a+
0
Rejoignez-nous