Im Allgemeinen ist es unvermeidlich, dass während der Projektentwicklung Aufrufe an externe Schnittstellen auftreten. In diesem Artikel wird die Methode zum Aufrufen der HttpURLConnection-Klasse im Java-Hintergrund beschrieben, um Browseranforderungen zu simulieren. Kann für Schnittstellenaufrufe verwendet werden. Teilen Sie es als Referenz mit allen. Die spezifische Implementierungsmethode ist wie folgt:
Kopieren Sie den Code wie folgt: package com.cplatform.movie.back.test;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
java.net.URL importieren;
import java.net.URLEncoder;
öffentliche Klasse HttpURLConnectionTest {
öffentlicher statischer finaler String GET_URL = "http://112.4.27.9/mall-back/if_user/store_list?storeId=32";
öffentlicher statischer finaler String POST_URL = "http://112.4.27.9/mall-back/if_user/store_list";
/**
* Schnittstelle ruft GET auf
*/
public static void httpURLConectionGET() {
versuchen {
URL url = new URL(GET_URL); // Konvertieren Sie die Zeichenfolge in eine URL-Anforderungsadresse
HttpURLConnection Connection = (HttpURLConnection) url.openConnection();//Öffnen Sie die Verbindung
Connection.connect();//Sitzung verbinden
// Eingabestream abrufen
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String-Linie;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {// Schleife zum Lesen des Streams
sb.append(line);
}
br.close();//Schließe den Stream
Connection.disconnect(); // Verbindung trennen
System.out.println(sb.toString());
} Catch (Ausnahme e) {
e.printStackTrace();
System.out.println("Fehlgeschlagen!");
}
}
/**
* Schnittstelle ruft POST auf
*/
public static void httpURLConnectionPOST () {
versuchen {
URL url = neue URL(POST_URL);
//Erzwinge die von der open-Methode zurückgegebene urlConnection-Verbindung zu einer HttpURLConnection-Verbindung (identifizieren Sie eine Remote-Objektverbindung, auf die die URL verweist)
HttpURLConnection Connection = (HttpURLConnection) url.openConnection();// Zu diesem Zeitpunkt ist cnnection nur ein Verbindungsobjekt, das darauf wartet, verbunden zu werden
//Setzen Sie den Verbindungsausgabestream auf true, der Standardwert ist false (Post-Anfragen übergeben Parameter implizit in Form eines Streams).
Verbindung.setDoOutput(true);
//Setze den Verbindungseingabestream auf true
Verbindung.setDoInput(true);
//Stellen Sie die Anforderungsmethode auf „Post“ ein
Connection.setRequestMethod("POST");
// Post-Request-Cache ist auf „false“ gesetzt
Connection.setUseCaches(false);
//Legen Sie fest, ob die HttpURLConnection-Instanz automatisch eine Umleitung durchführt
Connection.setInstanceFollowRedirects(true);
// Setze jedes Attribut im Anforderungsheader (im Folgenden ist der Inhaltstyp aufgeführt, der auf den von urlEncoded codierten From-Parameter festgelegt wird)
// application/x-javascript text/xml->xml data application/x-javascript->json object application/x-www-form-urlencoded->form data
Connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
// Verbindung herstellen (die Anfrage wird erst gestartet, wenn die Methode „connection.getInputStream()“ aufgerufen wird. Die oben genannten Parametereinstellungen müssen vor dieser Methode vorgenommen werden)
Verbindung.connect();
//Einen Eingabe- und Ausgabestream erstellen, der zur Ausgabe der in der Verbindung übertragenen Parameter verwendet wird (ist der Ausgabeinhalt der Inhalt danach?)
DataOutputStream dataout = new DataOutputStream(connection.getOutputStream());
String parm = "storeId=" + URLEncoder.encode("32", "utf-8"); //URLEncoder.encode() Methode codiert Zeichenfolgen
// Parameter an die Verbindung ausgeben
dataout.writeBytes(parm);
// Den Stream aktualisieren und schließen, nachdem die Ausgabe abgeschlossen ist
dataout.flush();
dataout.close(); // Wichtiger und leicht zu ignorierender Schritt (den Stream schließen, denken Sie daran!)
System.out.println(connection.getResponseCode());
//Die Verbindung initiiert eine Anfrage und verarbeitet die Serverantwort (erhält den Eingabestream von der Verbindung und verpackt ihn als bufferedReader)
BufferedReader bf = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String-Linie;
StringBuilder sb = new StringBuilder(); // Wird zum Speichern von Antwortdaten verwendet
// Den Stream in einer Schleife lesen, wenn er nicht das Ende erreicht
while ((line = bf.readLine()) != null) {
sb.append(bf.readLine());
}
bf.close(); // Wichtiger und leicht zu ignorierender Schritt (den Stream schließen, denken Sie daran!)
Connection.disconnect(); // Zerstöre die Verbindung
System.out.println(sb.toString());
} Catch (Ausnahme e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
// httpURLConectionGET();
httpURLConnectionPOST();
}
}
Ich hoffe, dass dieser Artikel für die Java-Programmierung aller hilfreich sein wird.