TDM Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Grüße. Folgendes Problem: Ich hab hier eine Steckdose, die sich via cgi-script an und abschalten lässt. Im Browser aufrufen kann ich die wunderbar. Jetzt möchte ich aber über einen Linuxrechner ohne gui (also nur console) das script aufrufen. Mit welchem Befehl kann ich das am besten machen? (ich muss mich da nicht irgendwie anmelden oder so, sondern einfach nur das cgi-script aufrufen, den Rest macht das Gerät allein) bin dankbar für Vorschläge Zitieren
Crash2001 Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 (bearbeitet) Auch für die Console gibt es Browser. Lynx oder Links z.B. ... Dann kannst du das einfach per links bzw lynx aufrufen. Links kann mit Frames und Tabellen besser umgehen, bei Lynx gibts da immer Probs. Ansonsten dürfte auch das senden eines http-Requests evtl schon zum schalten ausreichen. Bearbeitet 25. Juni 2008 von Crash2001 Zitieren
geloescht_JesterDay Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Ein cgi ist im Grunde nichts anderes als eine ausführbare Datei, deren Ausgaben eben über den Webserver an den Client geliefert werden.. Die solltest du einfach so starten können, evtl. über einen Interpreter o.ä., wenn es z.B. Perl ist. Dann noch die passenden Parameter mitgeben und das war's. Zitieren
TDM Geschrieben 25. Juni 2008 Autor Geschrieben 25. Juni 2008 Ansonsten dürfte auch das senden eines http-Requests evtl schon zum schalten ausreichen. Fein, mit Links geht. Problem ist nur, dass ich auf dem Linuxrechner weder aptitude noch apt-get hab. (nur wget, kann man damit installieren? ) Notfalls muss ich halt nen eignes Programm schreiben... Zitieren
@@@ Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 Fein, mit Links geht. Problem ist nur, dass ich auf dem Linuxrechner weder aptitude noch apt-get hab. (nur wget, kann man damit installieren? ) Notfalls muss ich halt nen eignes Programm schreiben... Dann stellt sich erstmal die Frage welche Distribution du verwendest, da so ziemlich jede Distribution über ein eigenes Paketmanagement verfügt. Notfalls kannst dir ja die Pakete selber komplieren. Zitieren
TDM Geschrieben 25. Juni 2008 Autor Geschrieben 25. Juni 2008 Wenn ich wüsste welche Distribution das ist... Hier steht nur was von Busylinux. Ein DBox2-Image. Am besten ich warte, bis die im Entwicklungsforum mal was gesagt haben... Zitieren
Amstelchen Geschrieben 25. Juni 2008 Geschrieben 25. Juni 2008 du kannst auch das - offensichtlich schon installierte - wget für HTTP-requests verwenden; dafür wurde es ja gemacht KISS - keep it simple (and) stupid. s'Amstel Zitieren
TDM Geschrieben 26. Juni 2008 Autor Geschrieben 26. Juni 2008 Das Problem ist nur, dass wget die Datei immer runterläd und nicht auf dem Server ausführt. Zitieren
dgr243 Geschrieben 26. Juni 2008 Geschrieben 26. Juni 2008 dafür ist wget auch da .. man wget was lädst du denn runter? nen .deb? nen .rpm? nen .tar.gz? Zitieren
TDM Geschrieben 26. Juni 2008 Autor Geschrieben 26. Juni 2008 Ich will ja nichts runterladen, nur ein http-request schicken. Damit die Seite aufgerufen wird. Zitieren
geloescht_JesterDay Geschrieben 26. Juni 2008 Geschrieben 26. Juni 2008 Wenn ich wüsste welche Distribution das ist... cat /proc/version_signature Dann solltest du das sehen können (Also zumindest mal den Kernel, aber die Distributionen haben ja meist den Namen mit dabei in ihrer Version) Aber da das ja keine Desktop-Distri ist kann das schon sein... nur müssen die doch auch so eine Verwaltung haben, oder nicht? Ich will ja nichts runterladen, nur ein http-request schicken. Damit die Seite aufgerufen wird. Naja, nichts anderes ist "runterladen" ja Zitieren
TDM Geschrieben 26. Juni 2008 Autor Geschrieben 26. Juni 2008 cat /proc/version_signature version_signature gibts ne, ich hab /proc/version genommen: /var # cat /proc/version Linux version 2.4.36.2-dbox2 (image@Server) (gcc version 3.4.6) #32 Fr Apr 25 04:23:39 CEST 2008 /var # Ich sag ja, ich weiß nicht, welche distribution das ist... btw: wget geht. Toll. Allerdings erstellt er mir immer die Datei, die aufgerufen wird. Kann man das irgendwie unterbinden (Ich find keine passende option) oder nach /dev/zero (so heißt anscheinend /dev/null) umleiten? wget <Adresse> >> /dev/zero geht jedenfalls nicht. Zitieren
Amstelchen Geschrieben 26. Juni 2008 Geschrieben 26. Juni 2008 da wget auf stderr schreibt, kann > nicht funktionieren; verwende 2> oder -o. wget Example Web Page 2> /dev/null oder wget Example Web Page -o /dev/null s'Amstel Zitieren
Crash2001 Geschrieben 26. Juni 2008 Geschrieben 26. Juni 2008 Einen http-Request kann man doch auch per telnet absetzen irgendwie *grybl* Reicht da nicht schon ein einfaches telnet auf die URL mit dem entsprechenden Port aus? Also ein telnet [Port] Zitieren
Amstelchen Geschrieben 26. Juni 2008 Geschrieben 26. Juni 2008 nö. telnet versteht kein HTTP, nur TCP. man kann zwar damit immer auch mit webservern auf TCP 80 sprechen, aber auch nur, weil HTTP auf TCP aufsetzt. dafür ist schon ein "echter" HTTP-client erforderlich, der GET/HEAD/POST direkt unterstützt. s'Amstel Zitieren
Crash2001 Geschrieben 26. Juni 2008 Geschrieben 26. Juni 2008 [...]Problem ist nur, dass ich auf dem Linuxrechner weder aptitude noch apt-get hab. (nur wget, kann man damit installieren? )[...]Damit könntest du dir die Sourcen ziehen und es dann manuell installieren. Ansonsten geht aber auch lynx -source > /dev/null oder links -source > /dev/null Zitieren
TDM Geschrieben 27. Juni 2008 Autor Geschrieben 27. Juni 2008 Damit könntest du dir die Sourcen ziehen und es dann manuell installieren. Ansonsten geht aber auch lynx -source > /dev/null oder links -source > /dev/null Wie gesagt, lynx bzw. links kann ich dort drauf nicht installieren bzw. nicht über apt-get/aptitude. Bin froh, dass ich wget hab. Wenn's wirklich nur mit runterladen geht, dann muss ich die halt immer danach löschen (Ich wollte schon immer mal wieder Bash-Scripts schreiben. ) Zitieren
geloescht_JesterDay Geschrieben 27. Juni 2008 Geschrieben 27. Juni 2008 (bearbeitet) Wenn's wirklich nur mit runterladen geht, dann muss ich die halt immer danach löschen (Ich wollte schon immer mal wieder Bash-Scripts schreiben. ) ># man wget ... -O file --output-document=file The documents will not be written to the appropriate files, but all will be concatenated together and writ- ten to file. If file already exists, it will be over- written. If the file is -, the documents will be written to standard output. Including this option automatically sets the number of tries to 1. ... ># wget url -O - > /dev/null oder ># wget url -O /tmp/cgi Bearbeitet 27. Juni 2008 von JesterDay Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.