Java网络请求函数: HttpURLConnection()方法的用法及示例
Java中的HttpURLConnection()方法是用于与HTTP服务器进行连接的类。它提供了一种简单的方式来发送HTTP请求和接收HTTP响应。这种连接方式使用基于TCP/IP的HTTP协议。 HttpURLConnection()方法是通过Java语言自带的URL类来实现的。在此,我们将详细讨论HttpURLConnection()方法的用法及示例。
HttpURLConnection方法的常见用处:
在Java应用程序中与HTTP服务器通信时,HttpURLConnection()方法是一个常见的选择。Java应用程序可以使用HttpURLConnection()方法向HTTP服务器发送请求,接收服务器的响应。这种方法可以使用GET或POST方法来传输数据。HttpURLConnection()方法提供了很多参数,包括请求类型、请求头以及数据传输方式,使得Java应用程序可以根据需要进行调整。
1.发起GET请求
HttpURLConnection()方法可以通过构造函数创建连接对象。通过该对象,我们可以使用openConnection()方法来打开HTTP连接,并且发送GET请求。代码示例如下:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class HttpURLConnectionExample {
public static void main(String[] args) {
try {
URL url = new URL("http://www.example.com/get_data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// print result
System.out.println(response.toString());
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
}
}
}
2.使用POST请求数据
HttpURLConnection()方法也可以用于POST方式准备和发送数据到HTTP服务器。我们可以使用setRequestMethod("POST")的方法来设置请求方法,然后使用setRequestProperty()方法来设置请求头(Content-Type或是其他的一些headers)内容。代码示例如下:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
public class HttpURLConnectionExample {
public static void main(String[] args) {
try {
URL url = new URL("http://www.example.com/submit_data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
String input = "{\"username\":\"testuser123\",\"password\":\"testpass123\"}";
// send post request
conn.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(conn.getOutputStream());
wr.writeBytes(input);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// print result
System.out.println(response.toString());
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
}
}
}
总结:
HttpURLConnection()方法是Java中用于与HTTP服务器进行连接的类,可以通过Java语言自带的URL类实现。该方法可用于GET和POST方式发送请求,并且允许根据需要进行各种参数设置。在与HTTP服务器交互时,可以使用HttpURLConnection()方法的一些基本功能。
