Cronjob / wget / https

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Cronjob / wget / https

      Hallo,
      ich versuche via wget und cronjob eine URL aufzurufen, bekomme aber folgende Fehlermeldung ->

      wget: not an http or ftp url: https://accounts.spotify.com/

      Mir ist klar, daß die URL mit https anfängt - da geht auch kein Weg dran vorbei. Wie kann ich das Problem lösen?

      Bei mir ist folgendes wget installiert ->
      BusyBox v1.19.4 (2014-01-07 12:10:06 CET) multi-call binary.
      Usage: wget [-c|--continue] [-s|--spider] [-q|--quiet] [-O|--output-document FILE]
      [--header 'header: value'] [-Y|--proxy on/off] [-P DIR]
      [--no-check-certificate] [-U|--user-agent AGENT] [-T SEC] URL...
      Retrieve files via HTTP or FTP
    • im busybox wget funktioniert der Schalter --no-check-certificate nicht richtig, deshalb die Fehlermeldung

      alternativ das wget binary vom feed installieren

      Quellcode

      1. opkg update && opkg install wget
      2. wget --no-check-certificate https://accounts.spotify.com/
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$
    • Okay, es sieht so aus, als ob er den https Befehlt nimmt, allerdings kommt folgende Fehlermeldung

      Connecting to accounts.spotify.com|194.132.162.236|:443... connected.
      WARNING: cannot verify accounts.spotify.com's certificate, issued by `/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA':
      Unable to locally verify the issuer's authority.
      HTTP request sent, awaiting response... 200 OK

      Es wird an meinem Scirpt liegen - aber ich weiß nicht, wo ich ansetzen soll. Bei dem Script geht es darum die Authentifizierung von Spotify zu bekommen, um Playlisten zu lesen.
    • ohne das man das script kennt - schwer zu zu sagen

      Aus dem Bauch: Wenn crond ausgeführt wird, sind keine Umgebungsvariablen geladen, d.h. nicht alle ausführbaren binaries im Script werden gefunden. Enweder die binaries im script mit absoluten Pfad angeben oder besser die PATH Variable ganz am Anfang vom Script oder gleich im crontab vor den cronjobs eintragen, das gilt dann gleich für alle cronjobs:

      Quellcode

      1. PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin


      Entspricht der Profil Umgebungsvariable PATH

      Quellcode

      1. root@dm7020hd:~# echo $PATH
      2. /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
      3. root@dm7020hd:~#


      wenn das auch nicht klappen sollte, die Ausgaben loggen um zu sehen was passiert - also den cronjob etwa so anlegen

      Quellcode

      1. root@dm7020hd:~# crontab -l
      2. PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
      3. */1 * * * * sh -x /usr/script/deinscript.sh > /tmp/deinscript.log
      4. root@dm7020hd:~#
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$
    • @CurrySven

      wg. deiner PN:

      eigentlich geht es nur um das Script, welches auf der Box läuft
      wenn es aus der Konsole klappt, liegt es am crontab - und da ist es meist die fehlende PATH variable, oder ein falscher crontab

      Hast du nach der crontab Erstellung busybox-cron reloaded bzw. neu gestartet? Funktioneren andere cronjobs? busybox-cron ist von DMM per default deaktiviert, d.h. man erstmal busybox-cron starten und auch einmalig für den bootup aktiveren. Oder hast du vixie-cron vom Newnigma2-Feed installiert?
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$
    • Hast du auch wie vorgeschlagen das wget binary vom feed installiert? Damit klappt dein Befehl aus der PN hier auf meiner DM7020HD in der Kosole. Zumindest kann ich die index.html?client_id=.... downloaden

      /usr/bin/wget.wget ist das binary vom feed, wget ist dann zu dem binary verlinkt und nicht zur busybox

      Quellcode

      1. root@dm7020hd:~# ls -al /usr/bin/wget
      2. lrwxrwxrwx 1 root root 18 Oct 8 14:03 /usr/bin/wget -> /usr/bin/wget.wget
      3. root@dm7020hd:~#
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$
    • Ja, das habe ich installiert. Der https Fehler ist auch nicht mehr da. Es soll ja "quasi" nichts runtergeladen werden, sondern das Script ausgeführt werden / wie er es auch macht, wenn ich den Link im Browser eingebe.

      Es hat vermutlich was mit dem redirect und der variablen Übergabe zu tun?!?
    • War mir klar, dass das php script ausgeführt werden soll, das sollte eigentlich klappen (wie mit dem WebIF der Dreambox).

      Ich schätze, dass es am Login liegt. Sendest du in der URL auch die Spotyfi Login Daten mit? Im Browser hast du den Login wahrscheinlich gespeichert und benötigst deshalb keine logindaten in der url. d.h. copy&paste der URL aus dem browser wird nicht klappen.

      vielleicht so?

      Quellcode

      1. wget --no-check-certificate -q -O /dev/null "https://Benutzername:Passwort@accounts.spotify.com/...."
      Gruß Fred

      Die Dreambox ist tot, es lebe die Dreambox

      ¯\_(ツ)_/¯

      Quellcode

      1. root@dm920:~$ mount | grep "/ "
      2. /dev/mmcblk1p1 on / type ext4 (rw,relatime,data=ordered)
      3. root@dm920:~$