GNU/Linux >> Tutoriels Linux >  >> Linux

Abuser de cURL pour communiquer avec Redis

Pas curl, mais ne nécessite pas d'interface HTTP ou nc (idéal pour quelque chose comme un conteneur où vous n'avez pas installé nc)

exec 3<>/dev/tcp/127.0.0.1/6379 && echo -e "PING\r\n" >&3 && head -c 7 <&3

Devrait vous donner

+PONG

Vous pouvez en savoir plus sur ce qui se passe dans cet article fantastique.


Lorsque vous souhaitez utiliser curl, vous avez besoin de REST sur RESP, comme webdis, tinywebdis ou turbowebdis. Voir https://github.com/markuman/tinywebdis#turbowebdis-tinywebdis--cherrywebdis

$ curl -w '\n' http://127.0.0.1:8888/ping
{"ping":"PONG"}

Sans interface REST pour redis, vous pouvez utiliser netcat par exemple.

$ (printf "PING\r\n";) | nc <redis-host> 6379 
+PONG

Pour redis protégé par mot de passe, vous pouvez utiliser netcat comme ceci :

$ (printf "AUTH <password>\r\n";) | nc <redis-host> 6379
+PONG

Avec netcat, vous devez créer vous-même le protocole REEE. Voir http://redis.io/topics/protocol

mise à jour 2018-01-09

J'ai construit une puissante fonction bash qui ping l'instance redis à tout prix sur tcp

    function redis-ping() {
            # ping a redis server at any cost
            redis-cli -h $1 ping 2>/dev/null || \
                    echo $((printf "PING\r\n";) | nc $1 6379 2>/dev/null || \
                    exec 3<>/dev/tcp/$1/6379 && echo -e "PING\r\n" >&3 && head -c 7 <&3)
    }

utilisation redis-ping localhost


Linux
  1. Configurer Nextcloud avec Redis à l'aide de Docker

  2. Patcher un binaire avec Dd ?

  3. Installer et configurer NodeBB avec Redis et Nginx sur Ubuntu 12.04

  4. Tutoriel de commande cURL avec exemples

  5. effectuer des requêtes HTTP avec cURL (en utilisant PROXY)

Commande Curl sous Linux avec des exemples

Comment faire une requête POST avec cURL

Comment télécharger des fichiers avec la commande Curl sous Linux

Comment faire une requête POST avec curl

Installer Redis sur Ubuntu

Comment configurer Logstash sur Linux avec ElasticSearch, Redis, Nginx