API:Login/de
| Diese Seite ist Teil der MediaWiki-API-Dokumentation. |
| Sprache: | English • Deutsch • español • français • 日本語 • русский • 中文 • 中文(繁體) |
|---|
Schnellübersicht:
- Erste Schritte (en)
- FAQ (en)
- Tutorial (en)
- Datenformate (en)
- Fehlermeldungen (en)
- API-Benutzung einschränken (en)
- Authentifizierung
- Abfragen (en)
- Meta-Informationen (en)
- Eigenschaften (en)
- Listen (en)
- Search suggestions
- Vorlagen expandieren und wiedergeben (en)
- Den Seiten-Cache leeren (en)
- Parameter-Informationen (en)
- Wiki-Inhalt bearbeiten (en)
- Seiten anlegen/ändern (en)
- Seiten verschieben (en)
- Rollback (en)
- Seiten löschen (en)
- Gelöschte Änderungen wiederherstellen (en)
- Seiten (ent-)sperren (en)
- Benutzer (ent-)sperren (en)
- Seiten (nicht mehr) beobachten (en)
- E-Mails verschicken (en)
- Änderungen kontrollieren (en)
- Artikel importieren (en)
- Benutzerrechte ändern (en)
- Bilder hochladen (en)
- Benutzeroptionen (en)
- Atom-Feed Beobachtungsliste (en)
- MediaWiki-Erweiterungen, welche die API erweitern (en)
- Verwendung der API in MediaWiki und Erweiterungen (en)
- Verschiedenes (en)
- Implementation (en)
- Bekannte API-Nutzer (en)
Vor dem Arbeiten in der Api solltest du dich mit einem Bot-Account einloggen. Du kannst zwar auch ohne Login in der API arbeiten, allerdings gelten dann wesentlich strengere Einschränkungen. Zum Beispiel können bei vielen Querys normalerweise maximal 500 Seiten mit einem Mal zurückgegeben werden, während es bei einem Bot 5.000 sind. Nach einem erfolgreichen Login wird ein Token geliefert, mit dem du dich bei jeder Anfrage als eingeloggter User identifizieren kannst. Dieser Token wird einmal in der Antwort geschickt und auch gleichzeitig im HTTP-Header als Cookie gesetzt.
Contents |
Beispiel [edit]
Wer mit einer MediaWiki-Version vor 1.15.3 arbeitet, kann dieses Beispiel überspringen.
Wichtig: In diesem Beispiel werden zur einfachen Darstellung alle Parameter als GET-Parameter übergeben. Die API selbst erwartet aber, dass lgname und lgpassword POSTs sind. Ansonsten wird ein Fehler geliefert.
| Result |
|---|
| The following content has been placed in a collapsed box for improved usability. |
<?xml version="1.0" encoding="utf-8"?> <api> <login result="NeedToken" token="b5780b6e2f27e20b450921d9461010b4" cookieprefix="enwiki" sessionid="17ab96bd8ffbe8ca58a78657a918558e" /> </api> |
| The above content has been placed in a collapsed box for improved usability. |
Wer mit MediaWiki 1.15.3+ arbeitet, wird ein NeedToken erhalten. Vor dieser Version sollte ein Success zurückgegeben werden, sofern die Daten richtig übergeben wurden. MediaWiki 1.15.3+ erwartet jedoch, dass der Login mit einem Sessioncookie und dem im ersten Request erhaltenen Token bestätigt wird. Sende einen POST-Request mit dem zuvor erhaltenen Token und dem Sessioncookie im Header (z.B. dewiki_session).
| Result |
|---|
| The following content has been placed in a collapsed box for improved usability. |
<?xml version="1.0" encoding="utf-8"?> <api> <login result="Success" lguserid="12345" lgusername="Bob" lgtoken="b5780b6e2f27e20b450921d9461010b4" cookieprefix="dewiki" sessionid="08nj1ioefhlvmdjfor5to3mvv5" /> </api> |
| The above content has been placed in a collapsed box for improved usability. |
Wenn du ein Login-Plugin wie Extension:LDAP Authentication verwendest, musst du noch einen zusätzlichen Parameter lgdomain angeben.
Cookies [edit]
Ein erfolgreicher Login setzt die Cookies automatisch per HTTP-Header. Wenn du sie aber nicht verarbeiten kannst, können sie auch aus der Antwort zusammengesetzt werden. Im Beispiel oben würdest du folgende Cookies haben:
- dewikiUserName =
Bob(vonlgusername) - dewikiUserID =
12345(vonlguserid) - dewikiToken =
b5780b6e2f27e20b450921d9461010b4(vonlgtoken) - dewiki_session =
08nj1ioefhlvmdjfor5to3mvv5(vonsessionid)
Beachte, dass der Präfix "dewiki" in jedem Wiki anders ist. Diesen erfährst du über cookieprefix.
Fehlermeldungen [edit]
Mögliche Fehlermeldungen, die du in dem Feld "result" bekommen kannst:
NoName- der lgname-Parameter wurde nicht gesetzt
Illegal- der Username ist ungültig
NotExists- der Username existiert nicht
EmptyPass- du hast den lgpasswort-Parameter entweder nicht definiert oder leer gelassen.
WrongPass- du hast ein falsches Passwort gegeben
WrongPluginPass- das selbe wie
WrongPass. Wird geliefert, wenn statt MediaWiki selbst ein Plugin das Passwort ablehnt.
- das selbe wie
CreateBlocked- MediaWiki hat automatisch versucht einen neuen Account anzulegen, aber deine IP ist gesperrt.
Throttled- Du hast dich in zu kurzer Zeit zu oft falsch eingeloggt.
Throttling [edit]
Aus Sicherheitsgründen darf man innerhalb einer bestimmten Zeit nur eine maximale Anzahl an Loginversuchen unternehmen. Normalerweise sind das 5 Versuche in 300 Sekunden, das kann aber in bestimmten Wikis variieren. Wenn du das Limit erreicht hast, wird jeder Loginversuch, unabhängig davon ob er richtig oder falsch ist, mit dem Fehlercode Throttled und der Information, wie lange du noch warten musst, abgewiesen.