Java中Http连接的两种方式(小结)

下面详细讲解Java中Http连接的两种方式。

Http连接的两种方式

在Java中,常用的Http连接方式有两种:URLConnection和HttpClient。下面分别介绍两种方式。

使用URLConnection

Java中的URLConnection类是一个用于HTTP网络操作的基本类。

发送GET请求

发送GET请求需要三个步骤:

  1. 创建一个URL对象。
  2. 获取URLConnection对象。
  3. 使用URLConnection对象获取网络数据。

代码示例:

import java.net.*;
import java.io.*;

public class HttpDemo {
    public static void main(String[] args) throws Exception {
        URL url = new URL("http://www.baidu.com/");
        URLConnection connection = url.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line;
        while ((line = in.readLine()) != null) {
            System.out.println(line);
        }
        in.close();
    }
}

输出结果:

<!DOCTYPE html>
<!--STATUS OK-->
<html>
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>百度一下,你就知道</title>
.........

发送POST请求

发送POST请求同样需要三个步骤:

  1. 创建一个URL对象。
  2. 获取URLConnection对象。
  3. 把参数输入到URLConnection对象中,然后获取网络数据。

代码示例:

import java.net.*;
import java.io.*;

public class HttpDemo {
    public static void main(String[] args) throws Exception {
        URL url = new URL("http://localhost:8080/hello");
        URLConnection connection = url.openConnection();
        connection.setDoOutput(true);
        OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
        out.write("name=张三&age=20");
        out.flush();
        out.close();
        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        String line;
        while ((line = in.readLine()) != null) {
            System.out.println(line);
        }
        in.close();
    }
}

输出结果:

Hello, 张三, 你的年龄是20岁

使用HttpClient

HttpClient是一个基于HttpCore库的Java开源框架,提供了更加丰富的Http请求功能。

使用HttpClient发送请求需要四个步骤:

  1. 创建CloseableHttpClient对象。
  2. 创建HttpRequest对象。
  3. 使用CloseableHttpClient对象和HttpRequest对象获取网络数据。
  4. 关闭CloseableHttpClient对象。

代码示例:

import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class HttpDemo {
    public static void main(String[] args) throws Exception {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet("http://www.baidu.com/");
        HttpResponse response = httpClient.execute(httpGet);
        BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
        String line;
        while ((line = in.readLine()) != null) {
            System.out.println(line);
        }
        httpClient.close();
    }
}

输出结果:

<!DOCTYPE html>
<!--STATUS OK-->
<html>
<head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>百度一下,你就知道</title>
.....

以上就是Java中Http连接的两种方式的详细讲解了。希望可以帮助到你。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中Http连接的两种方式(小结) - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 使用Maven搭建SpringMVC项目的步骤(图文教程)

    使用Maven搭建SpringMVC项目,可以使得项目的依赖管理和构建变得更加简单和方便。以下是该步骤的完整攻略: 步骤一:配置Maven 在安装Maven之前,要确保Java环境已正确设置。在下载Maven后,根据官方文档进行配置。 步骤二:创建Maven项目 打开Eclipse,选择File -> New -> Maven Project。 …

    Java 2023年5月16日
    00
  • 完整java开发中JDBC连接数据库代码和步骤

    当进行Java开发中需要连接数据库进行数据操作时,我们可以使用JDBC来完成这个任务。下面详细介绍完整的JDBC连接数据库代码和步骤,这里以MySQL数据库和Oracle数据库为例。 JDBC连接MySQL数据库 步骤一:导入JDBC驱动 要连接MySQL数据库,我们需要使用MySQL JDBC驱动程序。将JDBC驱动程序的JAR文件添加到classpath…

    Java 2023年5月19日
    00
  • spring如何实现依赖注入DI(spring-test方式)

    Spring实现依赖注入DI(spring-test方式) Spring是一个基于Java的开源框架,已经成为现代Java开发的事实标准,是构建企业级应用程序的首选框架之一。Spring实现了依赖注入(DI),使得开发者可以更加方便地编写可测试可维护的代码。本篇文章将详细介绍Spring如何实现依赖注入DI,以及如何使用spring-test进行测试。 DI…

    Java 2023年5月19日
    00
  • SpringBoot创建JSP登录页面功能实例代码

    下面我来详细讲解一下“SpringBoot创建JSP登录页面功能实例代码”的完整攻略。 环境准备 在开始前,我们需要先准备好以下环境: JDK 1.8 及以上 Spring Boot 2.0.0 及以上 IntelliJ IDEA 或 Eclipse 等开发工具 Tomcat 8.5 及以上 创建 Spring Boot 项目 先使用你喜欢的开发工具创建一个…

    Java 2023年5月19日
    00
  • AngularJS教程之MVC体系结构详解

    首先,在讲解”MVC体系结构详解”之前,我们需要了解MVC的定义。MVC全称为Model View Controller,是一种软件设计模式,用于将应用程序响应用户操作、处理和存储数据的部分分离开来。 在AngularJS中,MVC模式可以详细地表述为: Model: 模型是应用程序的数据部分。它包括应用程序中使用的所有数据、规则、验证以及与数据交互的方法。…

    Java 2023年6月15日
    00
  • 用java代码帮朋友P图

    下面是“用java代码帮朋友P图”的完整攻略: 准备工作 首先,我们需要安装并配置好Java开发环境。建议使用JDK1.8及以上版本,可以到Oracle官网下载并安装。安装完成后,需配置Java环境变量,具体可参考官方文档或搜索教程进行配置。 图像处理库 Java提供了许多用于图像处理的库,常用的有Java2D和JavaFX等。这里我们选择Java2D,它提…

    Java 2023年5月23日
    00
  • 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法

    下面我来详细讲解“解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法”的完整攻略。 问题概述 在使用Asp.net Mvc框架返回JsonResult时,我们经常会遇到DateTime类型的数据无法正确序列化的问题。原因在于Json序列化默认使用了UTC时间,而DateTime类型的数据默认是本机时间。为了解决这个问题…

    Java 2023年5月26日
    00
  • java之CSV大批量数据入库的实现

    Java之CSV大批量数据入库的实现 背景 在实际项目中,常常需要处理大量的数据,而CSV格式是一种很常见的数据格式,因此对于CSV数据进行入库操作是非常必要的。本文将介绍如何使用Java实现CSV大批量数据入库的实现。 准备工作 在开始正文之前,我们需要进行几个工作: 导入相关依赖 在项目中需要使用opencsv来解析CSV文件,因此需要在maven或gr…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部