Zuallererst bin ich Anfänger im Programmieren und verlasse mich oft auf ChatGPT. Dies ist auch meine erste Frage hier, also seien Sie bitte barmherzig. Ich bin für jede verfügbare Hilfe dankbar.
Ich versuche, den Prozess des Speicherns von Spieldaten in der Junior-Eishockey-Anwendung mithilfe von Python und der Anforderungsbibliothek zu automatisieren. Wenn ich die POST-Anfrage über einen Browser (Google Chrome Developer Tools) ausführe, funktioniert die Anfrage und der Abgleich wird erfolgreich gespeichert. Wenn ich jedoch versuche, dieselbe POST-Anfrage programmgesteuert in Python zu replizieren, schlägt der Speichervorgang fehl.
Eine erfolgreiche POST-Anfrage vom Browser enthält die folgenden Parameter:
Payload der Browser-POST-Anfrage
Mein Code zum Hinzufügen eines Spiels nach der Anmeldung mit meinem eigenen Benutzernamen und Passwort:
PROBLEM:
Wenn ich die POST-Anfrage programmgesteuert sende:
Statuscode: 200
Antwort-HTML: Der Server speichert die Daten nicht und gibt eine HTML-Seite mit einem Textfeld einschließlich verschlüsselter Fehlermeldung und Anleitung zurück um den Support zu kontaktieren.
Teil der Fehlermeldung: „3jQ%2B%2BD11nInVMikhH5RyAXjs[...]%2BKPlruJNvm37CXTkRxTJQ8fplAjlfqbSk3CWg8c5Q %2B7efRRYAmy%2BE%3D" Was ich versucht habe:
Verglich die Formulardaten und Header der Browser- und Python-POST-Anfragen – Sie scheinen identisch zu sein.
Bestätigt, dass dynamische Felder wie __VIEWSTATE, __EVENTVALIDATION und andere korrekt analysiert werden und gesendet.
Requests.Session() verwendet, um Cookies und Sitzungspersistenz zu verarbeiten.
Mit Entwickler getestet Tool zum erneuten Senden der erfolgreichen POST-Anfrage mit leicht geänderten Daten, aber es kam zu derselben Fehlermeldung.
Habe stundenlange Gespräche mit chatGPT mit Nr Glück.
Fragen:
Warum schlägt die POST-Anfrage fehl, wenn sie in Python repliziert wird?
Gibt es spezielle Überlegungen für die programmgesteuerte Interaktion mit .NET-basierten (.aspx) WebForms-Anwendungen?
Zuallererst bin ich Anfänger im Programmieren und verlasse mich oft auf ChatGPT. Dies ist auch meine erste Frage hier, also seien Sie bitte barmherzig. Ich bin für jede verfügbare Hilfe dankbar. Ich versuche, den Prozess des Speicherns von Spieldaten in der Junior-Eishockey-Anwendung mithilfe von Python und der Anforderungsbibliothek zu automatisieren. Wenn ich die POST-Anfrage über einen Browser (Google Chrome Developer Tools) ausführe, funktioniert die Anfrage und der Abgleich wird erfolgreich gespeichert. Wenn ich jedoch versuche, dieselbe POST-Anfrage programmgesteuert in Python zu replizieren, schlägt der Speichervorgang fehl. Eine erfolgreiche POST-Anfrage vom Browser enthält die folgenden Parameter: Payload der Browser-POST-Anfrage Mein Code zum Hinzufügen eines Spiels nach der Anmeldung mit meinem eigenen Benutzernamen und Passwort: [code]def add_game(self, game_data): add_game_url = "https://ha...ox2020/Games/Game.aspx"
# Get form data response = self.session.get(add_game_url, headers={ "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", "Referer": add_game_url, "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", })
if response.status_code != 200: print(f"Form page load failed!: {response.status_code}") return
if error_message: print("Error found") else: print("Error message not found.")
if "ErrorPage" in post_response.headers.get("Location", ""): print("Server returned an error.") [/code] Cookies vom Entwicklertool nach erfolgreicher POST-Anfrage mit dem Browser: [code]_fbp=fb.1.1729010158214.465600806662753604; __utmz=109879070.1729010159.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); __utma=109879070.1919602242.1729010159.1729010159.1734711272.2; ASP.NET_SessionId=fett[...]f3lwui5t; MopoxAdm=D0BE15FD1A3CF39[...]610364F6B10C5A1AB9306BA4BF69AD530 [/code] Cookies in Python POST-Anfrage: [code]ASP.NET_SessionId: qax1dppoz4c53kiojivhjcvy jpxapp: 309B90D89660703B[...]B79453F2B6B7CF96 jpx_team_select: 8787 ASP.NET_SessionId: fbcbhqlv[...]spq3t MopoxAdm: 2A40350542[...]CD19584826B43AFDFB8CBA2760ED4406320B0D9AA1EE84 [/code] [b]PROBLEM:[/b] Wenn ich die POST-Anfrage programmgesteuert sende: [list] [*][b]Statuscode:[/b] 200
[*][b] Antwort-HTML:[/b] Der Server speichert die Daten nicht und gibt eine HTML-Seite mit einem Textfeld einschließlich verschlüsselter Fehlermeldung und Anleitung zurück um den Support zu kontaktieren.
[/list] Teil der Fehlermeldung: „3jQ%2B%2BD11nInVMikhH5RyAXjs[...]%2BKPlruJNvm37CXTkRxTJQ8fplAjlfqbSk3CWg8c5Q %2B7efRRYAmy%2BE%3D" [b]Was ich versucht habe:[/b] [list] [*]Verglich die Formulardaten und Header der Browser- und Python-POST-Anfragen – Sie scheinen identisch zu sein.
[*]Bestätigt, dass dynamische Felder wie __VIEWSTATE, __EVENTVALIDATION und andere korrekt analysiert werden und gesendet.
[*]Requests.Session() verwendet, um Cookies und Sitzungspersistenz zu verarbeiten.
[*]Mit Entwickler getestet Tool zum erneuten Senden der erfolgreichen POST-Anfrage mit leicht geänderten Daten, aber es kam zu derselben Fehlermeldung.
[*]Habe stundenlange Gespräche mit chatGPT mit Nr Glück.
[/list] [b]Fragen:[/b] [list] [*]Warum schlägt die POST-Anfrage fehl, wenn sie in Python repliziert wird?
[*]Gibt es spezielle Überlegungen für die programmgesteuerte Interaktion mit .NET-basierten (.aspx) WebForms-Anwendungen?
Ich versuche, eine Post-Anfrage an einen Server zu senden, der Axios mit im Browser gespeicherten Cookies verwendet (Aktualisierungstokenspeicherung im Cookie der Antwort nach /login-Anfrage), aber...
Ich erstelle eine native React-App mit einem Python-Flask-Backend. Ich gebe meinem Benutzer Anweisungen auf der Grundlage des Endwerts aus einem vom Benutzer übermittelten Formular. Aus irgendeinem...
Ich habe ein Formular auf der Website, das vor den Designänderungen angeblich funktioniert hat. Dem Formular ist ein Captcha beigefügt, aber aus irgendeinem Grund funktioniert das JS-Skript, das die...
Im Moment mache ich eine Test -API. Ich verwende die Postman -Erweiterung, um die Post -Methoden auf Google Chrome zu testen. Anfrage.
Jedes Mal, wenn ich die Anforderung erstelle, bleibt das...