一文读懂JAVA中HttpURLConnection的用法
HttpURLConnection是Java中用于远程调用HTTP服务的类,支持HTTP/HTTPS协议,并提供了GET、POST、PUT等常见HTTP方法。
HttpURLConnection的使用步骤
- 创建一个URL对象,指向需要访问的URL地址。
- 打开连接对象,并设置请求方法,设置是否允许输出,设置是否允许输入,设置是否使用缓存等。
- 发送请求,并读取返回数据。
- 关闭连接。
示例1:使用HttpURLConnection发送GET请求
try {
URL url = new URL("https://www.example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
if (connection.getResponseCode() == 200) {
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} else {
System.out.println("请求失败!");
}
} catch (IOException e) {
e.printStackTrace();
}
以上代码通过HttpURLConnection发送了一个GET请求,并输出了返回的数据。
示例2:使用HttpURLConnection发送POST请求
try {
URL url = new URL("https://www.example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);// 允许输出数据
connection.setRequestProperty("Content-Type", "application/json");// 设置请求的数据类型
String requestData = "{\"name\":\"小明\",\"age\":\"18\"}";
OutputStream outputStream = connection.getOutputStream();
outputStream.write(requestData.getBytes());
outputStream.flush();
outputStream.close();
if (connection.getResponseCode() == 200) {
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} else {
System.out.println("请求失败!");
}
} catch (IOException e) {
e.printStackTrace();
}
以上代码通过HttpURLConnection发送了一个POST请求,并输出了返回的数据。需要注意的是,这里使用了setDoOutput(true)方法允许输出数据,并通过setRequestProperty("Content-Type", "application/json")设置请求头中的Content-Type信息。同时,还需要在输出流中写入请求的数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文读懂JAVA中HttpURLConnection的用法 - Python技术站