欢迎访问宙启技术站
智能推送

Java网络请求函数: HttpURLConnection()方法的用法及示例

发布时间:2023-06-13 08:14:53

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()方法的一些基本功能。