Java函数库——HTTP通信的示例代码
发布时间:2023-06-13 03:25:36
在Java中进行HTTP通信可以通过使用Java内置的java.net包或使用第三方库,比如Apache HttpClient、OkHttp等。本文将介绍如何使用java.net包进行HTTP通信。
1. 发送GET请求
发送GET请求可以使用Java的HttpURLConnection类。以下是一个简单的示例:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class HttpGetDemo {
public static void main(String[] args) throws Exception {
String url = "https://www.example.com/api/v1/users";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置请求方式为GET
con.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 打印响应内容
System.out.println(response.toString());
}
}
2. 发送POST请求
发送POST请求也可以使用HttpURLConnection类。以下是一个简单的示例:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
public class HttpPostDemo {
public static void main(String[] args) throws Exception {
String url = "https://www.example.com/api/v1/users";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置请求方式为POST
con.setRequestMethod("POST");
// 设置请求头
con.setRequestProperty("User-Agent", "Mozilla/5.0");
// 设置请求参数
String urlParameters = "username=test&password=test123";
// 发送POST请求
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 打印响应内容
System.out.println(response.toString());
}
}
3. 发送PUT请求
发送PUT请求也可以使用HttpURLConnection类。以下是一个简单的示例:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
public class HttpPutDemo {
public static void main(String[] args) throws Exception {
String url = "https://www.example.com/api/v1/users/1";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置请求方式为PUT
con.setRequestMethod("PUT");
// 设置请求头
con.setRequestProperty("User-Agent", "Mozilla/5.0");
// 设置请求参数
String urlParameters = "username=test&password=test123";
// 发送PUT请求
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 打印响应内容
System.out.println(response.toString());
}
}
4. 发送DELETE请求
发送DELETE请求也可以使用HttpURLConnection类。以下是一个简单的示例:
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpDeleteDemo {
public static void main(String[] args) throws Exception {
String url = "https://www.example.com/api/v1/users/1";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置请求方式为DELETE
con.setRequestMethod("DELETE");
// 设置请求头
con.setRequestProperty("User-Agent", "Mozilla/5.0");
int responseCode = con.getResponseCode();
// 打印响应状态码
System.out.println("Response Code : " + responseCode);
}
}
总结
以上就是使用java.net包发送HTTP请求的示例代码。这些代码只是提供了一些基础示例,更多高级用法可以参考java.net包的文档或第三方库的文档。
