Arduino:
Å sende en HTTP-forespørsel med grunnleggende autentisering
Hvordan gjøre det:
Bruk ESP8266 eller ESP32 med WiFi-bibliotek for å koble til et nettverk og utføre HTTP-forespørsler med basisgodkjenning.
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
const char* ssid = "ditt_wifi";
const char* password = "ditt_passord";
const char* http_username = "brukernavn";
const char* http_password = "passord";
const char* serverName = "http://ditt.server.com/ressurs";
WiFiClient client;
HTTPClient http;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Kobler til WiFi...");
}
Serial.println("WiFi koblet til!");
http.begin(client, serverName);
http.setAuthorization(http_username, http_password);
int httpCode = http.GET();
if (httpCode > 0) {
Serial.printf("HTTP Respons Kode: %d\n", httpCode);
if(httpCode == HTTP_CODE_OK) {
String payload = http.getString();
Serial.println(payload);
}
} else {
Serial.printf("Feil ved sending av HTTP: %s\n", http.errorToString(httpCode).c_str());
}
http.end();
}
void loop() {
}
Dypdykk
Å sende HTTP-forespørsler med basisgodkjenning er en enkel autentiseringsform som har eksistert siden HTTP/1.0. Til tross for sin enkelhet, er den ikke den sikreste metoden siden brukernavn og passord sendes i klartekst (kodet med Base64, som lett kan dekodes). Derfor anbefales det å bruke HTTPS-forespørsler for å beskytte dataene med SSL/TLS-kryptering. Alternativer til basisgodkjenning inkluderer OAuth, API-nøkler og moderne autentiseringsprotokoller som JWT (JSON Web Token).