Re: skript zum Zeit korrekt setzen bei einem Brother Drucker
Rico Pietzsch schrieb:
> Manfred Schmitt schrieb:
> >>
> > Paste mal bitte hier oder wenn es zu lang wird z.B. auf paste.debian.net
> > das komplette Formular von <form bis </form> bzw. vielleicht auch einfach
> > das komplette html, ich glaub dann wird es klarer.
>
> also ich hab das Formular mal komplett hochgeladen. (html)
>
> http://paste.debian.net/61413/
>
OK, das macht das ganze doch um einiges durchschaubarer.
> Vielleicht kriegt man es aber auch gleich mit wget bzw. curl hin.
>
Ich denke schon das curl/wget dafuer reicht.
> >>
> >> curl -F "month=3" http://d2/fax/general_setup.html?kind=item --user xy:"xyz"
> >>
> > Nur den Monat einzustellen wird wohl auch nicht klappen, man wird vermutlich
> > alle Felder in einem Rutsch uebergeben muessen?
> > Ausserdem heisst das Feld imo Month und nicht month, siehe oben.
> > Oder sind Formularfeldnamen nicht case sensitiv?
> > Wie auch immer, ich wuerde prinzipiell immer eine einheitliche Schreibweise
> > nehmen.
>
> auf der Webseite kann man per hand auch nur einen Wert ändern. Sieht man
> ja im hochgeladenen Formular. Die Großschreibung hatte auch nichts
> geändert :-/
>
Hm, also ich kann da alle Felder aendern.
Und alle sind grob (ein Paar sind doppelt):
# formfind < paste_61413.html | grep NAME | wc -l
37
Stueck, auf der Seite wird ja eigentlich einiges konfiguriert.
Formfind ist in den contribs von curl enthalten, das ist recht praktisch
um mal uebersichtlich zu sehen was fuer Felder in einem Formular denn
nun enthalten sind ohne durchs html wuehlen zu muessen:
http://curl.haxx.se/cvs.cgi/curl/perl/contrib/formfind
/usr/share/doc/curl/TheArtOfHttpScripting.gz ist auch nicht uninteressant.
Eine Uebersicht ueber die ganzen Zeitfunktionen von javascript gibt es
auch wieder bei selfhtml: http://de.selfhtml.org/javascript/objekte/date.htm
Nun denn, das wichtigste Feld in dem Formular bezueglich der Uhrzeit
scheint mir wenn ich das richtig interpretiere wohl das versteckte Feld
"DateTime", das wiederum mittels der javascript-Funktion ClockSet beim
klicken auf Submit anhand der aktuellen Zeit ermittelt wird, zu sein.
Soweit ich es mit meinem Javascript-Halbwissen verstehe stehen am Ende
dann im Feld "DateTime" die abgelaufenen Sekunden seit dem 1.1.1980, der
Drucker laeuft also wohl vermutlich unter DOS bzw. Windows, das klingt
ja schon mal sehr vertrauenserweckend ;-)
Ich wuerde, trotzdem da ja sehr viele Felder sind, doch als erstes mal
versuchen nur dieses eine Feld zu uebermitteln, grob koennte das dann
so aussehen:
dosepoch=`date +%s -d "Jan 1, 1980 00:00:00"`
unixseconds=`date +%s -d "now"`
mydate=`echo "$unixseconds - $dosepoch" | bc`
curl -F "DateTime=$mydate" http://d2/fax/general_setup.html?kind=item --user xy:"xyz"
Ja, das geht auch als Einzeiler aber so ist es uebersichtlicher und man
stolpert nicht unnoetig ueber "ambiguous redirects" oder so :-)
Ich wuerde da gerne in -F noch &submitname=%20Submit%20 unterbringen, das
Submit-Feld hat aber keinen Namen, hm...
Und wech,
Manne
Reply to: