【问题标题】:Expecting value: line 4 column 1 (char 3) [duplicate]期望值:第 4 行第 1 列(字符 3)[重复]
【发布时间】: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


    【解决方案1】:

    我在没有 try except 块的情况下运行了这段代码,它显示:

    raise JSONDecodeError("Expecting value", s, err.value) from None
    json.decoder.JSONDecodeError: Expecting value: line 4 column 1 (char 3)
    

    This 可能会有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      • 2013-05-10
      • 2019-02-25
      • 2020-02-03
      • 2023-03-25
      • 2018-06-28
      相关资源
      最近更新 更多