Connection à un site
Fermé
Thant
-
27 juil. 2004 à 19:13
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 30 juil. 2004 à 09:07
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 30 juil. 2004 à 09:07
Bonjour,
Je ne connais pas encore bien python mais j'ai déjà fais du C.
Ce que j'aimerais faire c'est un programme qui pourrait se connecter à une adresse, télécharger certaine page.
Le souci c'est qu'il faut entrer son login et son pass entre 2
page en question : http://sd315.sivit.org/fourmix/
merci d'avance pour vos conseils et réponses
Je ne connais pas encore bien python mais j'ai déjà fais du C.
Ce que j'aimerais faire c'est un programme qui pourrait se connecter à une adresse, télécharger certaine page.
Le souci c'est qu'il faut entrer son login et son pass entre 2
page en question : http://sd315.sivit.org/fourmix/
merci d'avance pour vos conseils et réponses
A voir également:
- Connection à un site
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Se connecter à gmail sur téléphone - Guide
- Quel site remplace coco - Accueil - Réseaux sociaux
- Site pour vendre des objets d'occasion - Guide
2 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
27 juil. 2004 à 19:29
27 juil. 2004 à 19:29
Hello.
Le principe:
Récupérer les champs du formulaire et construire la requete HTTP POST équivalent à l'envoi du formulaire.
Celui de l'écran de login est:
Ce qui fait 3 champs à envoyer en mode POST à http://sd315.sivit.org/fourmix/connexion.php
login=le login
password=le mot de passe
B1="Envoyer"
(Voir les newsgroups sur la façon de faire un POST en Python ; Note: souvent les serveurs acceptent tout simplement la requête GET équivalente, c'est plus simple ;-)
La page en retour va sûrement te renvoyer un cookie dans les entêtes HTTP (voir la doc pour les lire).
Conserve ce cookie.
Il te faudra, dans toutes les requêtes suivantes sur ce même site, fournir ce cookie dans les entêtes HTTP de tes requêtes.
ça devrait tourner... :-)
Tu peux utiliser le navigateur Firefox pour voir les différents champs des formulaires d'une page, et tu pourra également voir les cookies et leur valeur.
ça aide.
Le principe:
Récupérer les champs du formulaire et construire la requete HTTP POST équivalent à l'envoi du formulaire.
Celui de l'écran de login est:
<form method="post" action="connexion.php"> <div align="center"><center><p>Login :<input name="login" size="20" type="text"></p> </center></div><div align="center"><center><p>Mot de passe :<input name="password" size="20" type="password"></p> </center></div><div align="center"><center><p> </p></center></div> <input value="Envoyer" name="B1" type="submit"><p></p> </form>
Ce qui fait 3 champs à envoyer en mode POST à http://sd315.sivit.org/fourmix/connexion.php
login=le login
password=le mot de passe
B1="Envoyer"
(Voir les newsgroups sur la façon de faire un POST en Python ; Note: souvent les serveurs acceptent tout simplement la requête GET équivalente, c'est plus simple ;-)
La page en retour va sûrement te renvoyer un cookie dans les entêtes HTTP (voir la doc pour les lire).
Conserve ce cookie.
Il te faudra, dans toutes les requêtes suivantes sur ce même site, fournir ce cookie dans les entêtes HTTP de tes requêtes.
ça devrait tourner... :-)
Tu peux utiliser le navigateur Firefox pour voir les différents champs des formulaires d'une page, et tu pourra également voir les cookies et leur valeur.
ça aide.
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 662
30 juil. 2004 à 09:07
30 juil. 2004 à 09:07
Dans la doc de Python il y a un exemple de requête POST:
http://www.python.org/doc/current/lib/node415.html
"The following example uses the "POST" method instead:
"
http://www.python.org/doc/current/lib/node415.html
"The following example uses the "POST" method instead:
>>> import urllib >>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) >>> f = urllib.urlopen("http://www.musi-cal.com/cgi-bin/query", params) >>> print f.read()
"
28 juil. 2004 à 11:38
28 juil. 2004 à 12:12
(Désolé, je n'ai pas le temps de chercher.)
29 juil. 2004 à 21:54
Les recherches sur google ça n'a rien donné :-(