HttpURLConnection
是Java中用于进行HTTP通信的类。它是java.net
包中的一个类,用于建立与服务器的HTTP连接,并通过该连接发送HTTP请求和接收HTTP响应。HttpURLConnection
提供了一组方法,用于设置请求方法、请求头、请求参数等,并可以获取服务器的响应状态码、响应头和响应体。 通过HttpURLConnection
类,您可以实现HTTP的GET、POST、PUT、DELETE等请求方法,并可以设置请求的内容类型、接受的内容类型、超时时间等。 以下是HttpURLConnection
类的一些常用方法:
setRequestMethod(String method)
:设置请求方法,如GET、POST、PUT、DELETE等。setRequestProperty(String key, String value)
:设置请求头的键值对。setDoOutput(boolean doOutput)
:设置是否允许输出请求体。getInputStream()
:获取服务器返回的输入流,可以通过该流读取响应体。getResponseCode()
:获取服务器返回的响应状态码。getHeaderField(String name)
:获取特定响应头的值。 通过HttpURLConnection
类,您可以方便地进行HTTP通信,并与服务器进行数据的交互。
demo示例:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class HttpRequest {
public static void main(String[] args) throws Exception {
String url = "https://www.example.com"; // 请求地址
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
// 设置请求方法为POST
con.setRequestMethod("POST");
// 添加请求参数
con.setDoOutput(true);
OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream());
writer.write("name1=value1&name2=value2");
writer.flush();
writer.close();
// 发送请求
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 打印响应结果
System.out.println(response.toString());
}
}