欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HttpURLConnection的使用

程序员文章站 2022-04-06 16:57:47
...

使用GET方式访问HTTP

public class GetDemo {

 public static void main(String[] args) {
    try {
         // 1. 得到访问地址的URL
         URL url = new URL(
                 "http://localhost:8080/Servlet/do_login.do?username=test&password=123456");
         // 2. 得到网络访问对象java.net.HttpURLConnection
         HttpURLConnection connection = (HttpURLConnection) url
                .openConnection();
        /* 3. 设置请求参数(过期时间,输入、输出流、访问方式),以流的形式进行连接 */
        // 设置是否向HttpURLConnection输出
         connection.setDoOutput(false);
       // 设置是否从httpUrlConnection读入
         connection.setDoInput(true);
        // 设置请求方式
         connection.setRequestMethod("GET");
       // 设置是否使用缓存
         connection.setUseCaches(true);
        // 设置此 HttpURLConnection 实例是否应该自动执行 HTTP 重定向
         connection.setInstanceFollowRedirects(true);
        // 设置超时时间
        connection.setConnectTimeout(3000);
        // 连接
        connection.connect();
       // 4. 得到响应状态码的返回值 responseCode
         int code = connection.getResponseCode();
         // 5. 如果返回值正常,数据在网络中是以流的形式得到服务端返回的数据
        String msg = "";
         if (code == 200) { // 正常响应
            // 从流中读取响应信息
         BufferedReader reader = new BufferedReader(
                   new InputStreamReader(connection.getInputStream()));
            String line = null;

            while ((line = reader.readLine()) != null) { // 循环从流中读取
                msg += line + "\n";
            }
            reader.close(); // 关闭流
        }
        // 6. 断开连接,释放资源
        connection.disconnect();

         // 显示响应结果
         System.out.println(msg);
    } catch (IOException e) {
         e.printStackTrace();
     }
 }

}