matrix-org / matrix-org/matrix-python-sdk

JSONDecodeError when trying to logging with username and password

Offen
#288 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Api layer bug question
Vorherrschende Sprache
Python
Sterne
266
Forks
118
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

Hi there!
I'm currently trying to use Matrix to log in a server webpage with username and password. I'm using Python 3 and the appropriate SDK, but I'm facing an issue: Since it looks that I succeed in reaching the server page address, an error occurs when it comes to logging in:

Traceback (most recent call last):
  File "test.py", line 12, in <module>
    token = client.login(username="***", password="***", limit=10, sync=True, device_id=None)
  File "/usr/local/lib/python3.6/dist-packages/matrix_client-0.4.0.dev0-py3.6.egg/matrix_client/client.py", line 278, in login
  File "/usr/local/lib/python3.6/dist-packages/matrix_client-0.4.0.dev0-py3.6.egg/matrix_client/api.py", line 181, in login
  File "/usr/local/lib/python3.6/dist-packages/matrix_client-0.4.0.dev0-py3.6.egg/matrix_client/api.py", line 761, in _send
  File "/home/user/.local/lib/python3.6/site-packages/requests/models.py", line 897, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

My code is really basic:

#!/usr/bin/env python3
from matrix_client.client import MatrixClient
client = MatrixClient("webpage_logging_address")
token = client.login(username="***", password="***", limit=10, sync=True, device_id=None)

I've been searching for a solution for hours, without success. Any idea of why this happens and how to solve the problem?

Thanks a lot,

MyDev

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, den login-Aufruf aus matrix_client/client.py nachzubilden, und verfolge die Verarbeitung der Anfrage in matrix_client/api.py, insbesondere _send und login. Untersuche die Serverantwort vor dem JSON-Parsing und vergleiche sie mit der erwarteten login-Antwort; die Aufgabe ist abgeschlossen, wenn die Ursache der leeren oder nicht als JSON vorliegenden Antwort identifiziert und ein bestätigter Fix dokumentiert wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api, authentication
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.