Dieses Mal werde ich kurz zusammenfassen, wie HttpUrlConnection verwendet wird. HttpURLconnection unterstützt Anforderungen wie get, post, put, delete basierend auf http. Normalerweise werden häufig die Methoden get und post verwendet. In diesem Artikel werden daher auch die Methoden get und post erläutert.
Geben Sie zunächst getUrl an und verwenden Sie getUrl als Parameter, um eine Instanz der URL-Klasse zu erstellen. Versuchte es zu schaffen. Sobald Sie das Verbindungsziel erhalten haben, starten Sie die Kommunikation, geben Sie den Antwortcode und bei Erfolg den Eingabestream zurück Lesen Sie die Dateninformationen mit.
String getUrl = "https://github.com/Hyman1993";
URL url = new URL(getUrl);
//Instanz der Verbindung
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//Geben Sie die Anforderungsmethode an
connection.setRequestMethod("GET");
//Starten Sie die Kommunikation
connection.connect();
//Antwortcode zurückgeben
int responseCode = connection.getResponseCode();
//Beurteilen Sie den Antwortcode. Wenn OK, fahren Sie fort
if(responseCode == HttpURLConnection.HTTP_OK){
//Erfolgreiche Kommunikation
//Holen Sie sich den Text
InputStream in= connection.getInputStream();
String encoding = con.getContentEncoding();
if(null == encoding){
encoding = "UTF-8";
}
StringBuffer result = new StringBuffer();
final InputStreamReader inReader = new InputStreamReader(in, encoding);
final BufferedReader bufReader = new BufferedReader(inReader);
String line = null;
//Lesen Sie den Text Zeile für Zeile
while((line = bufReader.readLine()) != null) {
result.append(line);
}
//Schließen
bufReader.close();
inReader.close();
in.close();
//Ausgabe
Log.log("result=============:"+result);
}
Wenn Sie Parameter übergeben, können Sie die URL wie folgt definieren.
String getUrl = "https://github.com/Hyman1993?userName=Hyman1993&password=123456";
In Bezug auf die POST-Methode ist es am wichtigsten, den Ausgabestream von der Verbindung abzurufen und die Dateninformationen auf den Server zu schreiben. Als nächstes erklären wir es mit einem Beispiel.
Bitte beziehen Sie sich auf die Quelle unten.
String postUrl = "https://github.com/Hyman1993";
URL url = new URL(postUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//Bestimmt für POST
connection.setRequestMethod("POST");
//Ausgabe möglich
connection.setDoOutput(true);
//Kann eingegeben werden
connection.setDoInput(true);
//Kein Cache
connection.setUseCaches(false);
//Geben Sie den Datentyp als json an
connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
//Verbindung, Kommunikationsstart
connection.connect();
//Schreiben Sie JSON-Daten in den Ausgabestream
String body = "userName=hyman1993&password=123456";
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream(), "UTF-8"));
writer.write(body);
writer.close();
int responseCode = connection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK){
//Erfolgreiche Kommunikation
//GET-Methode auch
}
String postUrl = "https://github.com/Hyman1993";
URL url = new URL(postUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setRequestProperty("Content-Type", "file/*");
connection.connect();
OutputStream outputStream = connection.getOutputStream();
FileInputStream fileInputStream = new FileInputStream("file");
int length = -1;
byte[] bytes = new byte[1024];
while ((length = fileInputStream.read(bytes)) != -1){
outputStream.write(bytes,0,length);
}
fileInputStream.close();
outputStream.close();
int responseCode = connection.getResponseCode();
if(responseCode == HttpURLConnection.HTTP_OK){
//Erfolgreiche Kommunikation
//GET-Methode auch
}
Vielen Dank für das Lesen bis zum Ende. Dieses Mal möchte ich zusammenfassen, wie SocketChannel verwendet wird.
Recommended Posts