#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
// Ganti dengan kredensial WiFi Anda
const char* ssid = "Wokwi-GUEST";
const char* password = "";
// Ganti dengan URL API Anda
const char* server_url = "https://yellowgreen-mule-372794.hostingersite.com";
// Ganti dengan Bearer Token Anda
const char* bearerToken = "Bearer buatkode";
// Contoh penggunaan fungsi sendPostRequest
String endpoint = "/api/checkCard"; // Endpoint API
String payload = "{\"card_code\":\"rtredfd\", \"berat\":\"18000\"}"; // Payload JSON
void setup() {
Serial.begin(115200);
// Menghubungkan ke WiFi
WiFi.begin(ssid, password);
Serial.print("Menghubungkan ke WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("\nTerhubung ke WiFi");
// Pesan instruksi ke Serial Monitor
Serial.println("Ketik 'r' dan kirim untuk melakukan request ke API.");
}
void loop() {
// Memeriksa input dari Serial Monitor
if (Serial.available() > 0) {
char input = Serial.read(); // Membaca karakter yang dikirim
// Jika input adalah 'r', lakukan request
if (input == 'r') {
Serial.println("Mengirim request ke API...");
String response = sendPostRequest(endpoint, payload);
Serial.println("Respons dari server: " + response);
}
// Jika input adalah 'l', lakukan request sebanyak 50 kali
if (input == 'l') {
Serial.println("Mengirim request ke API sebanyak 50 kali...");
for (int i = 1; i <= 50; i++) {
Serial.print("Request ke-");
Serial.println(i);
// Mengirim request dan mendapatkan respons
String response = sendPostRequest(endpoint, payload);
Serial.println("Respons dari server: " + response);
delay(200); // Jeda 1 detik antara setiap request
}
Serial.println("Selesai melakukan 50 request.");
}
}
}
String sendPostRequest(String endpoint, String payload) {
if (WiFi.status() == WL_CONNECTED)
{
// Membuat URL lengkap dengan endpoint
String serverUrl = server_url + endpoint;
// Membuat objek HTTPClient
HTTPClient http;
// Memulai koneksi ke server
http.begin(serverUrl);
http.setTimeout(10000); // Set timeout 10 detik
// Menambahkan header Authorization dengan Bearer Token
http.addHeader("Authorization", bearerToken);
http.addHeader("Content-Type", "application/json");
// Mengirim request POST dengan payload
int httpResponseCode = http.POST(payload);
// Variabel untuk menyimpan respons
String response = "";
// Mengecek respons dari server
if (httpResponseCode > 0) {
response = http.getString(); // Mendapatkan respons dari server
Serial.println("HTTP Response code: " + String(httpResponseCode));
} else {
Serial.println("Error pada saat mengirim request:");
if (httpResponseCode == -1) {
Serial.println("Error -1: Timeout, tidak ada respons dari server.");
response = "Error: Timeout, tidak ada respons dari server.";
} else {
Serial.println("Error code: " + String(httpResponseCode));
response = "Error: Gagal mengirim request. Kode error: " + String(httpResponseCode);
}
}
// Menutup koneksi
http.end();
// Mengembalikan respons
return response;
}
else
{
Serial.println("WiFi Disconnected");
return "";
}
}