Je suis en train d'écrire un court script en utilisant l'API de demande et j'ai besoin d'accéder à ma boîte e-mail pour récupérer des informations.Authentification à l'aide de la demande d'API
J'ai donc écrit ce code afin d'authentifier:
#! /usr/bin/python3
import requests
payload = {'horde_user': '',
'horde_pass': '',
'login_post': '1'}
r = requests.post('http://webmail.technion.ac.il/login.php', data=payload)
print(r.status_code)
print(r.text)
Il est évident que j'ai remplacé horde_user
par mon nom d'utilisateur et mon mot de passe par horde_pass
dans le dictionnaire payload
.
Mais la sortie est le code source de la page initiale, alors que je m'attendais à ce que ce soit le contenu de ma boîte aux lettres.
Et le code de statut est 200 alors qu'il est censé être 302. Quelqu'un pourrait-il m'expliquer ce que je fais de mal?
Merci beaucoup d'avoir aidé!
Essayez d'abord de demander la page, puis de retirer les identifiants de session de cette première requête à utiliser lors de la tentative de connexion. Je parie qu'il échoue parce que vous envoyez des identifiants de session anciens et le site Web les rejette et vous renvoie à la page de connexion avec un nouvel identifiant de session. Les identifiants de session seraient "Horde" et "horde_secret_key" dans les cookies. – RNikoopour
quand j'essaie de me connecter je reçois un 200 et un message d'erreur que mon nom d'utilisateur/mot de passe semble être faux (évidemment) alors pourriez-vous fournir un compte de test? écrivez aussi 'r.text' dans un fichier .html et ouvrez-le. peut-être que vous verrez l'erreur alors. – yamm
Si vous regardez la source de la page, vous verrez qu'il y a des entrées cachées - essayez de les inclure dans la charge utile. – Railslide