HTTPie: Alternatif Cantik Untuk Wget dan cURL

Jika Anda tidak mengenal Wget atau cURL, jangan khawatir. Dua piranti lunak ini memang bukan termasuk yang sering digunakan pengguna komputer awam. Saya sendiri lumayan jarang menggunakan Wget atau cURL. Pernah menggunakan keduanya ketika belajar mirrorring situs web atau mengunduh berkas ISO Linux.

Wget adalah piranti lunak yang digunakan untuk mengunduh berkas dari jaringan secara non interaktif. Ia biasa digunakan untuk mengunduh berkas, misalnya ISO Linux, atau untuk membuat mirror sebuah situs web, dan masih banyak lagi. Wget ini termasuk perkakas yang serba guna dan hampir dipastikan telah terpasang di mayoritas distro.
Sementara cURL ini ibarat Wget on steroid. Selain bisa melakukan apa yang bisa Wget lakukan, cURL juga memiliki lebih banyak fitur. Seingat saya, cURL tidak banyak disertakan di banyak distro dan harus kita pasang sendiri.

Beberapa waktu lalu ketika pertama bermain-main bot di Telegram, kembali saya menyentuh Wget dan cURL. Seperti diketahui, bot Telegram menggunakan protokol http (GET dan POST) dan memberikan tanggapan dalam bentuk JSON.
Nah, tanggapan JSON yang ditampilkan Wget (dan cURL?) ini lumayan tidak ramah mata manusia. Ia berupa deretan karakter tanpa celah, membuat mata yang tidak terlatih ini kerepotan membedakan tiap bagiannya. Atau mungkin saya saja yang kurang paham cara menggunakannya. Kala itu saya menggunakan bantuan piranti lunak lain yang bernama jq. jq adalah piranti lunak baris perintah (command line interface, CLI) untuk mengolah JSON.
Selain mengubah tampilan JSON menjadi lebih rapi dan terstruktur, jq juga memungkinkan kita mengakses nilai dari JSON. It's a usefull tool.

Nah, jika yang kita butuhkan hanya untuk melihat tanggapan JSON suatu situs, kita tidak memerlukan jq melainkan cukup dengan mengganti Wget atau cURL dengan HTTPie.
HTTPie memliki fungsi yang sama dengan Wget atau cURL, namun dengan memberikan output yang lebih cantik dan mudah dicerna manusia. Dan karena ia ditulis menggunakan python, tidak aneh jika ia bersifat portable dan dapat digunakan di banyak paltform, misal: Linux, Windows dan OSX. Namun tentunya seperti kata orang, python juga menjadikannya lebih lambat dibanding Wget atau cURL yang ditulis menggunnakan bahasa C.

Gambar di bawah ini, yang saya ambil dari repo HTTPie di GitHub, menampilkan perbedaan keluaran antara cURL dan HTTPie.

Install HTTPie

Lalu bagaimana cara kita memasang HTTPie?
Ada dua cara:

  1. Karena HTTPie adalah program python, kita bisa menggunakan pip (python package installer) untuk memasangnya. Tentunya pastikan pip telah terpasang di sistem kita.
    pip install httpie
    
  2. Menggunakan penata paket dari distro yang kita gunakan. Tentunya jika HTTPie memang telah masuk repo distro.
    Misal saya menggunakan Debian, berikut cara memasang HTTPie:
    sudo apt install httpie
    

Cara Penggunaan HTTPie

Di sini saya tidak akan berpanjang lebar memberikan penjelasan memadai tentang penggunaan HTTPie. Karena seperti halnya banyak software CLI, misal Wget, cURL atau ffmpeg, HTTPie juga memiliki banyak parameter penggunaan. Dari yang sederhana hingga yang rumit. Akan lebih bijak jika membaca manual HTTPie saja.
Sekarang saya hanya akan memberikan contoh bagaimana saya menggunakan HTTPie untuk bermain-main dengan bot Telegram. Let's see...

GET

HTTPie akan menggunakan metode GET secara default. Di bawah ini contoh saya mengambil laman blog GitHub pages rizaumami.github.io.

http https://rizaumami.github.io

Contoh berikutnya adalah melakukan GET ke server bot Telegram.

http https://api.telegram.org/bot<TOKEN_BOT>/sendMessage chat_id==<TUJUAN> text=="Apa kabar?"

POST

Berikut bagaimana menggunakan metode POST di HTTPie agar bot Telegram kita bisa mengunggah gambar.

http -f POST https://api.telegram.org/bot<TOKEN_BOT>/sendPhoto chat_id=<TUJUAN> photo@/home/iza/Pictures/merbot.png

Sebagai kata penutup, salah satu ha yang--bagi saya--menyenangkan dari dunia teknologi informasi adalah akan selalu ada hal baru yang bisa ditemui dan dipelajari. Dulu awalnya saya hanya mengenal Wget, kemudian cURL, dan kini HTTPie. Sekilas mungkin tidak terlalu praktis untuk kegiatan berkomputasi sehari-hari, namun semakin banyak alternatif saya rasa makin baik.

Cag, urang pungkas nepi ka dieu heula...
Isuk jaganing pageto urang sambung deui.