• [^] # Re: Implémentation dans Linux ?

    Posté par (Mastodon) . En réponse au lien Éloge de Plan 9, par Drew DeVault. Évalué à 3.

    1 - l'exemple donné me fait un retour en « Error 400 (Bad Request)!!1 » sur google.com (copié-collé exact de l'exemple).
    Et un « Bad Request. Your browser sent a request that this server could not understand. » sur mon apache local.
    Donc ça marche plus mal que ça apparemment... :)

    2 - les file descriptors, tu les choisis dynamiquement hein !

    Ensuite, il faut choisir soi-même un numéro de descripteur de fichier, bon courage pour éviter les conflits.

    url="www.google.com"
    fd=$(comm -13 <(ls /proc/$$/fd | sort) <(seq 255 | sort) | sort -g | head -1)
    eval 'exec '${fd}'<>/dev/tcp/'${url}'/80; echo -e "GET / HTTP/1.1\r\nhost: http://'${url}'\r\nConnection: close\r\n\r\n" >&'${fd}'; cat <&'${fd}
    

    Bon, ça les rends pas par contre hein les file descriptors :

    ls /proc/$$/fd -l | cut -d\ -f10-
    0 -> /dev/pts/21
    1 -> /dev/pts/21
    2 -> /dev/pts/21
    255 -> /dev/pts/21
    4 -> socket:[1870185]
    5 -> socket:[1870235]
    6 -> socket:[1867560]
    7 -> socket:[1871095]
    8 -> socket:[1864698]
    9 -> socket:[1869500]
    
    • Yth, en bash on peut toujours faire plus GRUIIIIICK !!!!

    PS: On avait déjà le serveur web en bash https://github.com/avleen/bashttpd avec un obscur fork capable de gérer les requêtes POST d'un webhook gitlab ici https://gitlab.com/Arn0/bashttpd2
    Maintenant on a le brouteur bash ..?