Heim >Java >javaLernprogramm >Wie verfasse und sende ich HTTP-Anfragen in Java mit HttpUrlConnection?

Wie verfasse und sende ich HTTP-Anfragen in Java mit HttpUrlConnection?

Barbara Streisand
Barbara StreisandOriginal
2024-12-30 11:16:09240Durchsuche

How to Compose and Send HTTP Requests in Java using HttpUrlConnection?

HTTP-Anforderungszusammensetzung in Java

In Java umfasst das Verfassen und Senden einer HTTP-Anforderung die Verwendung der java.net.HttpUrlConnection-Klasse.

Um eine HTTP-Anfrage zu erstellen, befolgen Sie diese Schritte:

  • Verbindung herstellen: Erstellen Sie ein URL-Objekt, das den Ziel-Webserver darstellt, und richten Sie eine HttpURLConnection-Instanz ein.
  • Header konfigurieren: Legen Sie HTTP-Header wie „Content-Type“ und „Content-Length“ fest, um den Inhaltstyp der Anfrage anzugeben Länge.
  • Ausgabe aktivieren: Setzen Sie die setDoOutput-Eigenschaft auf true, um die Ausgabe an die Verbindung zu ermöglichen.

So senden Sie die Anfrage:

  • Anforderung schreiben: Verwenden Sie einen DataOutputStream, um die Anforderungsparameter in den Ausgang der Verbindung zu schreiben stream.
  • Antwort abrufen: Rufen Sie die Antwort des Servers ab, indem Sie einen InputStream aus der Verbindung öffnen und die Antwort Zeile für Zeile lesen.

Hier ist ein Beispiel für das Senden eine POST-Anfrage mit HttpUrlConnection:

public static String executePost(String targetURL, String urlParameters) {
  // Create connection and set headers
  HttpURLConnection connection = (HttpURLConnection) new URL(targetURL).openConnection();
  connection.setRequestMethod("POST");
  connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  connection.setRequestProperty("Content-Length", Integer.toString(urlParameters.getBytes().length));

  // Enable output and write request
  connection.setDoOutput(true);
  DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
  wr.writeBytes(urlParameters);
  wr.close();

  // Get response
  BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
  StringBuilder response = new StringBuilder();
  String line;
  while ((line = rd.readLine()) != null) {
    response.append(line);
    response.append('\r');
  }
  rd.close();

  return response.toString();
}

Das obige ist der detaillierte Inhalt vonWie verfasse und sende ich HTTP-Anfragen in Java mit HttpUrlConnection?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn