Cette fois, je vais résumer brièvement comment utiliser HttpUrlConnection. HttpURLconnection est de prendre en charge les demandes telles que get, post, put, delete basé sur http. Habituellement, les méthodes get et post sont souvent utilisées. Par conséquent, cet article explique également les méthodes get et post.
Tout d'abord, spécifiez getUrl et utilisez getUrl comme paramètre pour créer une instance de la classe URL. J'ai essayé de le faire. Une fois que vous avez obtenu la cible de connexion, démarrez la communication, renvoyez le code de réponse et, en cas de succès, le flux d'entrée Lisez les informations sur les données avec.
String getUrl = "https://github.com/Hyman1993";
URL url = new URL(getUrl);
//instance de connexion
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//Spécifiez la méthode de demande
connection.setRequestMethod("GET");
//Commencer la communication
connection.connect();
//Code de réponse de retour
int responseCode = connection.getResponseCode();
//Jugez le code de réponse, si OK, continuez
if(responseCode == HttpURLConnection.HTTP_OK){
//Communication réussie
//Obtenez le texte
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;
//Lire le texte ligne par ligne
while((line = bufReader.readLine()) != null) {
result.append(line);
}
//proche
bufReader.close();
inReader.close();
in.close();
//Production
Log.log("result=============:"+result);
}
En outre, lorsque vous passez des paramètres, vous pouvez définir l'URL comme suit.
String getUrl = "https://github.com/Hyman1993?userName=Hyman1993&password=123456";
En ce qui concerne la méthode POST, le plus important est d'obtenir le flux de sortie de la connexion et d'écrire les informations de données sur le serveur. Ensuite, expliquons avec un exemple.
Veuillez vous référer à la source ci-dessous.
String postUrl = "https://github.com/Hyman1993";
URL url = new URL(postUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//Désigné pour POST
connection.setRequestMethod("POST");
//Sortie possible
connection.setDoOutput(true);
//Peut être entré
connection.setDoInput(true);
//Pas de cache
connection.setUseCaches(false);
//Spécifiez le type de données en tant que json
connection.setRequestProperty("Content-Type", "application/json;charset=utf-8");
//Connexion, démarrage de la communication
connection.connect();
//Ecrire des données JSON dans le flux de sortie
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){
//Communication réussie
//Méthode GET également
}
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){
//Communication réussie
//Méthode GET également
}
Merci d'avoir lu jusqu'au bout. Cette fois, je prévois de résumer comment utiliser SocketChannel.
Recommended Posts