GNU/Linux >> Belajar Linux >  >> Linux

Menyalahgunakan cURL untuk berkomunikasi dengan Redis

Tidak melengkung, tetapi tidak memerlukan antarmuka HTTP atau nc (bagus untuk sesuatu seperti wadah tempat Anda belum memasang nc)

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

Harus memberi Anda

+PONG

Anda dapat membaca lebih lanjut tentang apa yang terjadi dari artikel yang luar biasa ini.


Saat Anda ingin menggunakan curl, Anda memerlukan REST over RESP, seperti webdis, tinywebdis, atau turbowebdis. Lihat https://github.com/markuman/tinywebdis#turbowebdis-tinywebdis--cherrywebdis

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

Tanpa antarmuka REST untuk redis, Anda dapat menggunakan netcat misalnya.

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

Untuk redis yang dilindungi kata sandi, Anda dapat menggunakan netcat seperti ini:

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

Dengan netcat Anda harus membangun sendiri protokol RESP. Lihat http://redis.io/topics/protocol

perbarui 09-01-2018

Saya telah membangun fungsi bash yang kuat yang mem-ping instance redis dengan biaya berapa pun melalui 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)
    }

gunakan redis-ping localhost


Linux
  1. Siapkan Nextcloud dengan Redis menggunakan Docker

  2. Tutorial Perintah cURL dengan Contoh

  3. Bagaimana saya bisa melakukan HTTP PUT dengan Wget?

  1. Menambal Biner Dengan Dd?

  2. Dapatkan informasi tajuk dengan cURL

  3. Belajar Menggunakan Perintah CURL di Linux Dengan Contoh Ini

  1. Instal dan Setup NodeBB dengan Redis dan Nginx di Ubuntu 12.04

  2. melakukan permintaan HTTP dengan cURL (menggunakan PROXY)

  3. Skrip Linux dengan curl untuk memeriksa layanan web sudah habis