Python envoie données dans page web [Résolu/Fermé]

Signaler
Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009
-
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
-
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.

17 réponses

Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
1
Merci

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

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
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.
1
Merci

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

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009

Merci beaucoup pour le lien !
C'est parfaitement ce que je recherchais
Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009

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=****
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
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.
Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009

Oui mais je ne programme pas encore avec Tkinter
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
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.
Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009

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é
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
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é.
Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009

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 ???
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
C'est ton programme Python qui récupère les cookies, pas Firefox.
Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009

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)
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
Le problème est d'insérer des cookies dans Firefox. Il n'y a aucune librairie Python prévue pour ça.
Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009

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
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
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.
Messages postés
20
Date d'inscription
samedi 6 décembre 2008
Statut
Membre
Dernière intervention
21 mai 2009

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é
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 368
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.))