Piloter une page web [Résolu]

Messages postés
11
Date d'inscription
samedi 15 avril 2006
Dernière intervention
4 janvier 2009
- - Dernière réponse : Telemak67
Messages postés
11
Date d'inscription
samedi 15 avril 2006
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..
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
Messages postés
735
Date d'inscription
jeudi 19 décembre 2002
Dernière intervention
22 novembre 2016
3
Merci
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 ?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de elguevel
Messages postés
1201
Date d'inscription
mercredi 2 novembre 2005
Dernière intervention
10 septembre 2011
0
Merci
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...
Commenter la réponse de Matt 261
Messages postés
11
Date d'inscription
samedi 15 avril 2006
Dernière intervention
4 janvier 2009
0
Merci
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+
Commenter la réponse de Telemak67
Messages postés
68
Date d'inscription
samedi 8 mai 2004
Dernière intervention
16 décembre 2007
0
Merci
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
Commenter la réponse de cs_Pingouin57
Messages postés
68
Date d'inscription
samedi 8 mai 2004
Dernière intervention
16 décembre 2007
0
Merci
J'oubliais de préciser, tu peux faire le tout avec un TWebBrowser :)
Commenter la réponse de cs_Pingouin57
Messages postés
11
Date d'inscription
samedi 15 avril 2006
Dernière intervention
4 janvier 2009
0
Merci
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+
Commenter la réponse de Telemak67
Messages postés
4229
Date d'inscription
vendredi 23 juillet 2004
Dernière intervention
3 août 2018
0
Merci
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
Commenter la réponse de Cirec
Messages postés
68
Date d'inscription
samedi 8 mai 2004
Dernière intervention
16 décembre 2007
0
Merci
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
Commenter la réponse de cs_Pingouin57
Messages postés
11
Date d'inscription
samedi 15 avril 2006
Dernière intervention
4 janvier 2009
0
Merci
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+
Commenter la réponse de Telemak67
Messages postés
1105
Date d'inscription
dimanche 1 août 2004
Dernière intervention
17 août 2008
0
Merci
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
Commenter la réponse de florenth
Messages postés
11
Date d'inscription
samedi 15 avril 2006
Dernière intervention
4 janvier 2009
0
Merci
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+
Commenter la réponse de Telemak67
Messages postés
1105
Date d'inscription
dimanche 1 août 2004
Dernière intervention
17 août 2008
0
Merci
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
Commenter la réponse de florenth
Messages postés
11
Date d'inscription
samedi 15 avril 2006
Dernière intervention
4 janvier 2009
0
Merci
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+
Commenter la réponse de Telemak67
Messages postés
1105
Date d'inscription
dimanche 1 août 2004
Dernière intervention
17 août 2008
0
Merci
"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
Commenter la réponse de florenth
Messages postés
11
Date d'inscription
samedi 15 avril 2006
Dernière intervention
4 janvier 2009
0
Merci
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+
Commenter la réponse de Telemak67

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.