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
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
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.
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...
@@@ 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.
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...
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
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.
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?
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.
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
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.
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
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]
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
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
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. )
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden