Python envoie données dans page web
Résolu
clt1593
Messages postés
23
Statut
Membre
-
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai un problème et déjà fait une recherche dans les sujets mais je n'ai pas trouvé ma réponse
Je fais donc appel a votre aide
Je commence depuis peu a programmer en python
Je voudrais que mon programme écrive des données dans des champs de textes par exemple login et mot de passe d'une page internet et qu'il se connecte.
Je ne vois pas du tout comment faire.
J'ai un problème et déjà fait une recherche dans les sujets mais je n'ai pas trouvé ma réponse
Je fais donc appel a votre aide
Je commence depuis peu a programmer en python
Je voudrais que mon programme écrive des données dans des champs de textes par exemple login et mot de passe d'une page internet et qu'il se connecte.
Je ne vois pas du tout comment faire.
Configuration: Windows Vista Firefox 3.0.4
17 réponses
-
-
Par exemple, le champ texte entry peut réagir quand on presse ENTREE dedans:
self.entry.bind("<Return>", self.OnPressEnter)
C'est la méthode OnPressEnter qui sera exécutée. -
Merci beaucoup pour le lien !
C'est parfaitement ce que je recherchais -
Je n'ai pas tout bien compris
par exemple si j'ai un champs de texte username
self.username.bind("mon nom", self.OnPressEnter)
???
J'ai essayé le lien et ça ne marche pas il me renvoi le message suivant
traceback (most recent call last):
File "C:\Python26\test.py", line 20, in <module>
raise ValueError, "Login failed with login=%s, password=%s" % (login,password)
ValueError: Login failed with login=clt1593, password=**** -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Non la commande bind sert à attacher une méthode à un évènement sur le widget.
"mon nom" n'est pas un évèment connu de Tkinter.
élément.bind("évènement",méthode)
élément est l'élément de l'interface graphique sur lequel tu veux attacher un évènement.
évènement est le type d'évènement que tu veux attacher.
méthode est la méthode que tu veux qui soit appellée si cet évènement se produit. -
-
par exemple si j'ai un champs de texte username
self.username.bind("mon nom", self.OnPressEnter)
...bind() ce sont des méthodes tkinter, pour construire des interface graphiques.
Je pensais que tu en faisais.
Si je comprend bien, c'est du web uniquement que tu fais.
traceback (most recent call last): File "C:\Python26\test.py", line 20, in <module> raise ValueError, "Login failed with login=%s, password=%s" % (login,password) ValueError: Login failed with login=clt1593, password=****
Je ne peux pas t'aider, je n'ai pas le code source. -
Non , je programme en python mais pas pour le web
Comme je suis un débutant en la matière mon programme s'ouvre dans une fenêtre comme une fenêtres d'invite de commande.
Mes programmes ressemblent donc a une suite de lignes blanches dans un fond noir !!! Je n'utilise pas d'interfaces graphiques pour le moment j'ai pensé que ce serai préférable pour un débutant
Il n'y donc pas une manière simple pour que mon programme tout simplement se connecte a un site avec un login et mot de passe
et qu'il renvoi une réponse par un changement d'adresse par exemple qui me dise que j'ai bien été connecté -
Se connecter sur un site web = envoyer une requête HTTP avec login et mot de passe et récupérer un cookie.
Je te conseille de suivre l'exemple que j'ai donné. -
Est ce que le fait que le site soit https et non pas http change quelque chose ?
J'ai essayer avec un autre site en http il semble que mon code source fonctionne
cependant
Quand je me connecte normalement j'ai des cookies qui se créent
et quand je passe par le mon programme il me vérifie que le cookie a bien été créé
mais quand je retourne dans firefox les cookies n'y sont pas ??? -
C'est ton programme Python qui récupère les cookies, pas Firefox.
-
A ok je comprends mieux maintenant
mais comment puis-je afficher la page qu'ouvre l'ouverture d'une session ?
avec ça peut être ?
url = urlOpener.open('mon url ouverte lors de l'ouverture d'une session')
page = url.read(200000) -
Le problème est d'insérer des cookies dans Firefox. Il n'y a aucune librairie Python prévue pour ça.
-
Et le fait que ce soit un https ça ne change rien ?
sinon il n'y a pas un moyen d'afficher ma page ou de faire un espece ne navigateur
je pense que cette solution n'est pas de mon niveau -
Si j'ai bien compris, tu veux que le programme Python se logue automatiquement sur un site web, et que la suite de la navigation se fasse sous Firefox ?
Dans ce cas, il faudrait effectivement modifier les cookies de Firefox en Python, ce qui ne me semble pas évident au premier abord. -
Oui c'est exactement ça ... mais je conclue qu'il faut attendre que je métrise un peu mieux le domaine.
C'est toujours bien d'avoir un peu d'imagination
Merci quand même pour toute l'aide que tu m'a apporté -
De rien.
Ton idée ne manque pas d'intérêt, mais s'il s'agit être intégré à Firefox, il faudrait peut-être regarder du côté écriture de plugins pour Firefox (ce n'est malheureusement pas du Python, mais du javascript assaisonné de diverses normes (XUL, etc.))