am 07.12.2021 16:32
Hallo Community,
ich habe ein Python Tool entwickelt mit dem ich meine Depotdaten analysiere.
Ich nutze dafür die REST API und verwende viele verschiedene requests.
Das Tool hat über ein Jahr reibungslos funktioniert und von einem Tag auf den andere n bekomme ich teils zufällig und immer an anderen Stellen "403" responses auf meine requests.
Wurde so etwas wie eine strengere Begrenzung bei der Anzahl an requests/Zeit oder ähnliches?
Da das Tool mehrere Monate unverändert funktioniert hat und auch die Fehler jetzt recht zufällig bei immer unterschiedlichen requests auftauchen denke ich nicht dass es an meiner Implementierung liegt.
Habt ihr einen Tipp für mich oder schon ähnliches beobachtet?
Grüße
Sebastian
am 08.12.2021 12:31
Hallo @nobisseb,
herzlich willkommen in unserer Community!
Ich habe dazu gerne mal bei unserem API Team nachgefragt. Eine genaue Erklärung können wir anhand deiner Angaben jedoch leider nicht liefern. Mögliche Situationen (abgelaufenes Token, falscher Login oder falsche IDs) würden zu HTTP 401 und nicht HTTP 403 führen.
Wir empfehlen dir daher, darauf zu achten, nicht zu viele Aufrufe in kurzer Zeit auszuführen und darauf, dass deine IDs immer richtig sind.
Beste Grüße
Jan-Ove
am 08.12.2021 19:53
Hallo Jan-Ove,
danke für deine Rückmeldung.
In welchen Fällen bekommt man denn einen HTTP 403 zurück?
Wieviele Aufrufe pro Zeit sind denn als kritisch zu betrachten?
Meine IDs sollte das Tool richtig durchreichen, da ich am Code seit über einem Jahr nicht verändert habe und es von einem auf den anderen Tag die HTTP 403 Fehler gab.
Besten Dank für eure Mühe
Grüße
Sebastian
am 09.12.2021 10:03
Hallo @nobisseb,
denkbar wäre ein Response vom Loadbalancer oder einem Anti-DDOS-System. Die genauen Zeiten können wir dir nicht sagen. Besonders bei Depotpositionen sollte man aber behutsam vorgehen und etwas Zeit (vielleicht im Bereich von einer Sekunde) zwischen Operationen einplanen. Diese Mechanismen sollen verhindern, dass z.B. versehentlich ein Wertpapier doppelt verkauft wird, weil z.B. die UI etwas hinterherhinkt und der Kunde dann ggf. frustriert doppelt geklickt hat. Diese zu häufigen Aufrufe können auch zu Sperren führen.
Beste Grüße
Jan-Ove
am 09.12.2021 23:36
Habe jetzt vor jedem meiner requests testweise eine Pause von ca 5s eingebaut. Insgesamt macht mein Tool nun ca 10 request mit jeweils 5s pause zwischendrinn.
Bekomme leider immernoch sehr willkürlich verteilt die 403 responses 😞
Bin jetzt etwas ratlos. Habe leider gar keinen Anhaltspunkt.
Auch wenn die requests vorher tadelos funktioniert haben poste ich euch nochmal einen meiner requests wie ich ihn in python aufgesetzt habe:
am 13.12.2021 16:14
Hallo @nobisseb,
unsere Kollegen haben noch eine Idee.
Vielleicht ist die request ID der Grund für die Fehlermeldung.Bitte lies daher einmal im Doku Kapitel zu den HTTP-Headern nach, worauf beim HTTP-Header geachtet werden muss.
Hier ein kleines Java-Script Codesnippet als Beispiel, wie die Request ID generiert werden kann:
// Request ID aus den letzten (!!!) 9 Zeichen des aktuellen Timestamps in ms:
var ts = _.now().toString();
pm.environment.set("request_id", ts.substring(ts.length - 9, ts.length));
Das Beispiel ist aus der offiziellen Postman-Collection genommen, die du auch herunterladen kannst.
Vielleicht hilft das weiter. 🙂
Beste Grüße
Jan-Ove
am 14.12.2021 09:54
Hallo @SMT_Jan-Ove ,
ich habe seit letzten Samstag das gleiche Problem.
Die schon beschrieben Punkte bin ich schon durchgegangen.
Mein Timestamp wird ordentlich übergeben und auch alle Request habe ich mal um 5 Sekunden verzögert ohne Erfolg.
Bei mir wird im Response zusätzlich noch ein hmtl Output gegeben.
Vielen Dank &
Beste Grüße
14.12.2021 10:55 - bearbeitet 14.12.2021 10:56
14.12.2021 10:55 - bearbeitet 14.12.2021 10:56
Hallo @com_phil,
wir haben deine Anfrage an den Fachbereich weitergegeben. Bis zur Antwort kann es derzeit etwas dauern. Daher bitten wir dich um Geduld und melden uns, wenn wir mehr erfahren.
Viele Grüße
Jessica
am 14.12.2021 10:57
Hi all,
auch ich habe nochmal in meinem Code Anpassungen gemacht um 100% konform mit eurer Request Doku zu sein. Problem besteht auch bei mir weiterhin.
Danke dass ihr euch der Sache annehmt.
Beste Grüße
Sebastian
am 14.12.2021 11:04