Å sende en HTTP-forespørsel med grunnleggende autentisering

Java:
Å sende en HTTP-forespørsel med grunnleggende autentisering

Slik gjør du:

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Base64;

public class BasicAuthExample {
    public static void main(String[] args) {
        String url = "https://example.com/api";
        String username = "brukernavn";
        String password = "passord";
        
        String encodedCredentials = Base64.getEncoder().encodeToString((username + ":" + password).getBytes());
        String authorizationHeader = "Basic " + encodedCredentials;
        
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(url))
                .header("Authorization", authorizationHeader)
                .build();
                
        try {
            HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
            System.out.println("Statuskode: " + response.statusCode());
            System.out.println("Respons: " + response.body());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Sample output:

Statuskode: 200
Respons: { "message": "Innlogget!" }

Dypdykk

Basic autentisering er en gammel metode, del av HTTP-standarden siden 1990-tallet. Den passer enkle scenarier men er ikke den sikreste, fordi brukernavn og passord er kodet, ikke kryptert. Alternativer inkluderer OAuth, tokens og API-nøkler. I Java, bruk java.net.http.HttpClient for å lage HTTP-forespørsler. Du må kode brukernavn og passord med Base64. Sørg alltid for å bruke HTTPS for å beskytte legitimasjonen under overføring.

Se også