Study
Qt

Networking Dasar dengan QNetworkAccessManager

Penjelasan

QNetworkAccessManager adalah class bawaan Qt untuk melakukan request HTTP — dipakai bareng QNetworkRequest (mendefinisikan URL dan header) dan QNetworkReply (hasil response, diakses lewat Signals & Slots karena request-nya berjalan ASYNCHRONOUS/non-blocking, tidak membekukan UI).

Contoh Konsep

QNetworkAccessManager *manager = new QNetworkAccessManager();

QObject::connect(manager, &QNetworkAccessManager::finished, [](QNetworkReply *reply) {
    if (reply->error() == QNetworkReply::NoError) {
        QByteArray data = reply->readAll();
        qDebug() << "Respons:" << data;
    }
    reply->deleteLater(); // WAJIB, cegah memory leak
});

manager->get(QNetworkRequest(QUrl("https://api.contoh.com/produk")));

Praktikum

Buat QNetworkAccessManager, kirim GET request ke "https://api.contoh.com/artikel". Di slot finished, cek error(), kalau NoError cetak isi respons lewat qDebug(), jangan lupa reply->deleteLater().

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Request QNetworkAccessManager bersifat ASYNCHRONOUS — kode SETELAH manager->get() langsung lanjut jalan TANPA menunggu response datang, hasilnya baru ditangani di slot yang terhubung ke signal finished() begitu response benar-benar tiba, mirip fetch().then() di JavaScript.