Java:
Skicka en HTTP-förfrågan med Basic-autentisering
Hur man gör:
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Base64;
public class BasicAuthRequest {
public static void main(String[] args) throws IOException {
String webPage = "http://example.com/api";
String name = "user";
String password = "pass";
String authString = name + ":" + password;
String encodedAuth = Base64.getEncoder().encodeToString(authString.getBytes());
URL url = new URL(webPage);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestProperty("Authorization", "Basic " + encodedAuth);
// Resten av koden för att hantera anslutningens input/output kommer här...
}
}
Sample output saknas här eftersom det handlar mer om serverns respons än själva Java-koden.
Djupdykning
Skicka HTTP-förfrågan med grundläggande autentisering är så elementärt som det låter - det har använts sedan HTTP/1.0. Även om det är enkelt, bör man vara medveten om att det inte är det säkraste sättet att skicka känslig information eftersom bas64-kodning lätt kan dekodas. Modernt alternativ inkluderar OAuth och tokens.
En viktig aspekt av implementationen i Java är HttpURLConnection
-klassen, som möjliggör skapandet och hanteringen av förbindelser till resurser på nätverket. Från Java 11 och framåt kan man även använda HttpClient
-klassen för att göra HTTP-förfrågningar på ett mer flexibelt sätt, inklusive asynkron hantering.