alex140181 / chessmail-pgn-tool

0 stars 0 forks source link

Login/Ausführung schlägt fehl #1

Closed die2ems closed 1 year ago

die2ems commented 1 year ago

Ausführung des Kommandos: java -jar chessmail-pgn-tool.jar -u '' -p '' -Fon '' -n 'games.pgn' -v

Ausgabe: Konsole: Exception in thread "main" java.lang.IllegalArgumentException: Es konnte kein Hash für den Login ermittelt werden! at chessmail.Chessmail_PGN_Tool.main(Chessmail_PGN_Tool.java:207)

die2ems commented 1 year ago

login.zip Logging-Ausgabe dazu.

Es wird scheinbar zunächst eine "leere" Loading-Seite vorgeschaltet, die dann auch ein window.location.reload() enthält.

alex140181 commented 1 year ago

Mit welcher Java Version lässt du das Tool denn laufen? Die Ausgabe von "java -version" wäre hier hilfreich...

die2ems commented 1 year ago

java version "1.8.0_361" Java(TM) SE Runtime Environment (build 1.8.0_361-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

Unter einem Windows 11 x64.

Ich kann es später am Abend auch mal auf einem MacOS versuchen, dann poste ich nochmal die Resultate sowie die dortige jre Version.

alex140181 commented 1 year ago

Ich denke, das musst du nicht (mehr). Dank siramons Tipp kann ich die Ursache hier beheben...

die2ems commented 1 year ago

Ok. Aber wie erklärt sich, dass das Tool bei dir ein anderes Verhalten aufweist, sprich: die Funktion wie erwartet ausgeführt hat..? Theoretisch müsste doch bei deinem Testlauf ebenfalls die vorgeschaltete Seite zurückgekommen sein.

alex140181 commented 1 year ago

Ich gehe davon aus, dass in den Fällen, wo es vermeintlich/augenscheinlich geklappt hat, daran lag, dass zufälligerweise bzw. Cache-bedingt, das Cookie korrekt war...

alex140181 commented 1 year ago

Magst du nochmal als "Versuchskaninchen" herhalten?!

https://github.com/alex140181/chessmail-pgn-tool/releases/download/1.0.1/chessmail-pgn-tool.jar

die2ems commented 1 year ago

Klar doch, ich will ja meine Partien haben ;-) Also, ich bekomme jetzt fast immer eine "java.lang.IllegalStateException: Already connected"

Und weil ich den Output der Konsole jetzt in eine output.txt umleiten wollte, hab ich das mehrmals ausgeführt. Und auf einmal, da hat er 1 Partie heruntergeladen. Und danach dann: alle 253. Und dann aber wieder mehrmals in Folge die IllegalStateException.

die2ems commented 1 year ago

output.txt

alex140181 commented 1 year ago

Das hier kam aber nicht mehr, oder?!

Exception in thread "main" java.lang.IllegalArgumentException: Es konnte kein Hash für den Login ermittelt werden!

die2ems commented 1 year ago

Nein, das hast du erfolgreich gefixt :-) Und, wie gesagt, bei ein paar Versuchen war dann ja auch ein sauberer Run dabei. Also, du bist nah dran ;-)

die2ems commented 1 year ago

Und jetzt will shaack ja doch noch den Verbesserungsvorschlag aufgreifen und eine API anbieten... jetzt hab ich ja voll den Stein ins Rollen gebracht :-)

alex140181 commented 1 year ago

Noch ne Runde?!

https://github.com/alex140181/chessmail-pgn-tool/releases/download/1.1.0/chessmail-pgn-tool.jar

die2ems commented 1 year ago

Screenshot 2023-03-10 074938

Jetzt bekomme ich leider dies hier.

alex140181 commented 1 year ago

Check nochmal dein Passwort 😉

die2ems commented 1 year ago

Die Ausführung hab ich natürlich gescripted, wofür hältst du mich ;-) Passwort ist korrekt.

alex140181 commented 1 year ago

Als IT'ler ist man da den Endanwendern gegenüber grundsätzlich erst mal skeptisch ;-) Ich kann den o.g. Fehler nachvollziehen, wenn ich ein falsches PW mitgebe, daher die Frage...

Btw: Die beiden unnötigen Meldungen zwischen "Starting at..." und "Logging in..." kommen noch weg ;-)

die2ems commented 1 year ago

Wir sind Kollegen. Dipl.-Inform. (FH), tätig als Anwendungsentwickler...

alex140181 commented 1 year ago

Mea culpa, Herr Kollege ;-) Dann weißt du ja, wovon ich spreche grins Solche Schnitzer bzw. Patzer sind mir aber auch schon (des Öfteren) passiert, wo sich dann herausgestellt hat, dass ich irgendwo was vergessen hatte oder einen Zahlendreher oder ein O statt 0 bzw. umgekehrt....

die2ems commented 1 year ago

Deswegen bin ich mir ja auch ziemlich sicher, dass ein einmaliger Abzug dieser Daten aus der Datenbank für shaack sehr easy gewesen wäre und habe daher angeboten, dafür auch gerne etwas zu bezahlen. Aber da kam dann leider keine Reaktion von ihm.

Andererseits, um sich dauerhaft gegen die großen, wohlbekannten Plattformen zu behaupten, ist mein Wunsch vielleicht kein schlechter Verbesserungsvorschlag für die Seite, da überall anders eigentlich ein Standard-Feature.

Naja. Ich für meinen Teil habe mit deinem Tool erhalten, was ich brauchte – dennoch helfe ich dir gerne durch Tests dabei weiter, das Projekt fertig zu entwickeln.

die2ems commented 1 year ago

Mea culpa, Herr Kollege ;-) Dann weißt du ja, wovon ich spreche grins Solche Schnitzer bzw. Patzer sind mir aber auch schon (des Öfteren) passiert, wo sich dann herausgestellt hat, dass ich irgendwo was vergessen hatte oder einen Zahlendreher oder ein O statt 0 bzw. umgekehrt....

Ja, verständliche Nachfrage. Aber kann ich ausschließen, mit dem gleichen Skript konnte ich gestern meine Daten einmalig erfolgreich abziehen. Es muss etwas anderes sein.

alex140181 commented 1 year ago

Wie sieht denn bei dir der Aufruf bzw. das Batchfile aus?

die2ems commented 1 year ago

Bzw... der erfolgreiche Abruf war gestern abend auf meinem privaten Macbook, und jetzt bin ich wieder auf der Windows 11 Kiste... Von daher, ein Unterschied.

alex140181 commented 1 year ago

"privat"?! Ist die Win 11 Kiste nicht privat?

die2ems commented 1 year ago

Aha! Du hattest im chessmail Forum den Beispielaufruf gepostet mit Parameterwerten in einfachen Anführungszeichen. Das habe ich so übernommen. Unter MacOS funktionierte das auch, aber mein Batchfile unter Windows kam damit nicht klar.

Username, Passwort und Gegnername nun im Batchfile ohne Anführungszeichen übergeben, nun gehts.

die2ems commented 1 year ago

Also, unter Windows die Werte nicht umschließen.

die2ems commented 1 year ago

Das kann jetzt entweder am Unterschied zwischen MacOS Bash und Windows cmd liegen, oder aber das Java CLI interpretiert das auf den Plattformen unterschiedlich.

alex140181 commented 1 year ago

Hast du "normale" Anführungszeichen, also " benutzt bzw. benutzen wollen? Unter Windows klappen auch die einfachen wie '

Ohne Anführungszeichen wird's wahrscheinlich problematisch mit Leerzeichen im Pfad und Dateiname...

P.S.: es gibt auch einen neuen Parameter: -t Der Default hier, falls nicht da wäre: -t 1 hier kann man die Anzahl der (internen) Threads angeben, die beim Zusammenstellen der Download-Links verwendet werden, also z.B.: -t 10

die2ems commented 1 year ago

execute_fakeValues.zip Die einfachen Anführungszeichen, so, wie du es gepostet hattest als Beispielaufruf. Siehe mein angehangenes Script. Aber wie gesagt, lasse ich die im Windows weg, funktioniert es.

alex140181 commented 1 year ago

Und mit den einfachen Anführungszeichen klappt es oder (auch) nicht?

die2ems commented 1 year ago

Nein, es klappt nicht. Unter meinem Windows klappt es weder mit den einfachen (') noch mit den doppelten (") Anführungszeichen. Es klappt nur, wenn ich diese gänzlich weg lasse.

Und das gilt sowohl für die Ausführung über ein .cmd Batchfile, als auch über die direkte Befehlseingabe in der offenen Kommandozeile cmd.exe (ich habe in der Vergangenheit teils die Erfahrung gemacht, dass das einen Unterschied machen kann).

alex140181 commented 1 year ago

Also, du hast Recht mit den einfachen Quotes.

Folgender Aufruf klappt zumindest auf meiner Win11 Kiste (also mit "):

java -jar chessmail-pgn-tool.jar -u "Catastrophist" -p "" -Fon "berndosto" -n "d:\temp\games.pgn" -v

Allerdings scheint es im Java Umfeld hier ein Problem zu geben, je nach Version: https://bugs.openjdk.org/browse/JDK-8266473

Welches Java läuft bei dir (auf Mac und Win11)?

die2ems commented 1 year ago

Unter Windows wie gestern gepostet: Java version "1.8.0_361" Java(TM) SE Runtime Environment (build 1.8.0_361-b09) Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

Der Mac ist mir aktuell nicht greifbar, da könnte ich am Wochenende nochmal schauen. Aber: da hat es ja wie gesagt mit einfachen Anführungszeichen funktioniert. Ich bin mir ziemlich sicher, dass da auch eine 1.8.x Version läuft, aber den genauen Build hab ich jetzt natürlich nicht im Kopf.

alex140181 commented 1 year ago

https://github.com/alex140181/chessmail-pgn-tool/releases/download/1.1.0/chessmail-pgn-tool.jar Habe soeben noch ein paar Fixes gemacht. So gibt es jetzt keine "nervenden" Meldungen vorab mehr wegen falschem Cookie und so. Und das Tool wirft keine Exception mehr, wenn die Ergebnisliste leer sein sollte, ergo wenn keine Partien gefunden wurden... Kleine Doku/Manual/Beschreibung kommt noch

P.S.: bist du schon auf dem Discord Server von shaack?!

die2ems commented 1 year ago

Cool, danke. Nee, bin nicht auf seinem Discord. Ich nutze chessmail auch nahezu gar nicht mehr, nur noch für Fernschach mit einem entfernt wohnenden Freund. Deswegen wollte ich ja die Partien alle mal runterladen und die künftigen immer on-the-fly archivieren.