【发布时间】:2022-01-25 22:53:13
【问题描述】:
很长一段时间以来,我一直在尝试通过发送请求来访问一个名为 kwyk 的网站。我目前正在尝试登录该网站,但它似乎不起作用。目前,我找不到该网站的 API,这似乎是主要问题。有人可以帮我解决问题吗?这是我的代码:
import requests as req # module pour requêtes HTTP
from rich import print # print permettant de mieux voir les réponses json (dictionnaires)
import json
class Kwyk():
def __init__(self, username: str, password: str, save_json=False) -> None:
"""
Permet de se connecter à Kwyk afin de récupérer le token, nécessaire afin de récupérer les infos de l'API
----------
Envoie une requête HTTP à Kwyk afin de s'authentifier et récupérer le token.
PARAMETRES :
----------
- username : str
- nom d'utilisateur/de compte école directe
- password : str
- mot de passe
- save_json : bool
- si True, sauvegardera la réponse du login dans login.json (non nécessaire)
- default = False
"""
# Création payload
data = {
"identifiant": "username",
"motdepasse": "password",
"acceptationCharte": True,
}
payload = 'data=' + json.dumps(data)
# essai de requête au login de Kwyk
try:
self.response = req.post(
"https://www.kwyk.fr/accounts/login/",
data=payload)
self.json = self.response.json()
if save_json:
with open("login.json", "w+", encoding="UTF-8") as file:
json.dump(self.json, file)
self.response.raise_for_status()
self.token = self.json['token']
self.id = self.json["data"]["accounts"][0]["id"]
except Exception as e:
if type(e).__name__ == "ConnectionError":
print("[reverse bold red]La connexion a échoué[/]")
print("[red]Vérifiez votre connexion Internet.[/]")
else:
print(f"Une erreur inconnue est survenue (identifiant ou mot de passe incorrect ?) : {e}")
exit()
if __name__ == '__main__': # test
username = "username"
password = "password"
interface = Kwyk(username, password)
print("Connecté à :", interface.json["data"]["accounts"][0]["identifiant"])
这是我运行代码时得到的结果:
Expecting value:
line 4 column 1 (char 3)
【问题讨论】:
标签: python api python-requests elixir-jason