Automatisierter Upload einer Datei

  • Hallo, ich steh ja mit dem modernem Internet etwas auf Kriegsfuß, jedenfalls was seine Erstellung betrifft. Ich habe grade hier, ein cooles Tool vorgestellt, was ich nun gern automatisiert nutzen würde. (Direkt Link zur Github Seite: gehosteten Seite).


    Man hat dort die Möglichkeit eine Datei hochzuladen, die dann analysiert wird. Kriegt man das irgendwie automatisiert? Sprich: Kann ich durch z.B. curl die Datei hinsenden ohne sie übers Webinterface hochladen zu müssen?

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Kriegt man das irgendwie automatisiert? Sprich: Kann ich durch z.B. curl die Datei hinsenden ohne sie übers Webinterface hochladen zu müssen?

    Nein. Ich zitiere die Manpage von curl:

    Quote

    curl is a tool to transfer data from or to a server, using one of the supported protocols [...]

    Das Problem ist: bei diesem Projekt wird die Datei nicht zum Server geschickt. Der User (Du) wählt eine Datei per Dialog oder Drag and Drop aus, im Script wird aus dem resultierenden Event der Inhalt der Datei geholt, ohne vom Script aus jemals direkt auf das Dateisystem zuzugreifen. Dann erfolgt Analyse und Visualisierung, alles lokal im Browser, mit JavaScript.

    (Die ganze Magie ist übrigens in https://github.com/syue87/GCod…aster/js/gcodeAnalyser.js zu finden).


    Eine Automatisierung mit curl wäre nur möglich, wenn das ganze serverseitig passiert: eine Datei wird per POST geschickt, es folgt das generierte HTML-Dokument mit eingebetteten Grafiken als Antwort. Da das script aber auch noch auf ein Canvas zeichnet, ist es nicht mal eben mit Auslagerung vom Browser auf den Server getan.


    Die einzige Möglichkeit, die ich sehe, um dieses bestimmte, im Browser laufende Tool zu automatisieren wäre etwa http://phantomjs.org/, eine größere Übersicht gibt's hier: https://github.com/dhamaniasad/HeadlessBrowsers.

  • Ich muss ja, nachdem ich die Datei gesclided habe und speichere, die Datei irgendwie auf dieses Seite kriegen. Ist das mit Phantomjs möglich? zu dem ist ja auch in diesem Moment kein Browser auf ist. Aber ich werd mir wohl angewöhnen den Spass manuell hochzuladen...


    An die Ausgabewerte kommt man also auch nicht ran?

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Ist das mit Phantomjs möglich?

    http://phantomjs.org/api/webpage/method/upload-file.html

    Beurteile selbst, ich kenne PhantomJS nur vom Hörensagen.

    An die Ausgabewerte kommt man also auch nicht ran?

    Welche genau? Wenn du die Tabelle am Ende der Seite meinst, sicher kommt man da ran. Die Werte werden ja auch in die HTML-Elemente mit gegebenen Selektoren gefüllt, also kann man sie auch wieder rausholen.

  • Hauptsächlich ein paar zahlen aus dem G-Code Statistics Bereich.



    Aber kann ich wahrscheinlich auch nicht von extern aufrufen und in z.B. ne Datenbank eintragen. Ich sag ja, alles mit java in Namen ist rotz :fies:. Clientseitiges Webzeug macht ja beim sortieren von ner Tabelle noch Sinn, der Rest gehört imho auf die Serverseite.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.