一文读懂JAVA中HttpURLConnection的用法

一文读懂JAVA中HttpURLConnection的用法

HttpURLConnection是Java中用于远程调用HTTP服务的类,支持HTTP/HTTPS协议,并提供了GET、POST、PUT等常见HTTP方法。

HttpURLConnection的使用步骤

  1. 创建一个URL对象,指向需要访问的URL地址。
  2. 打开连接对象,并设置请求方法,设置是否允许输出,设置是否允许输入,设置是否使用缓存等。
  3. 发送请求,并读取返回数据。
  4. 关闭连接。

示例1:使用HttpURLConnection发送GET请求

try {
    URL url = new URL("https://www.example.com");
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("GET");

    if (connection.getResponseCode() == 200) {
        InputStream in = connection.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
    } else {
        System.out.println("请求失败!");
    }
} catch (IOException e) {
    e.printStackTrace();
}

以上代码通过HttpURLConnection发送了一个GET请求,并输出了返回的数据。

示例2:使用HttpURLConnection发送POST请求

try {
    URL url = new URL("https://www.example.com");
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setRequestMethod("POST");
    connection.setDoOutput(true);// 允许输出数据
    connection.setRequestProperty("Content-Type", "application/json");// 设置请求的数据类型

    String requestData = "{\"name\":\"小明\",\"age\":\"18\"}";
    OutputStream outputStream = connection.getOutputStream();
    outputStream.write(requestData.getBytes());
    outputStream.flush();
    outputStream.close();

    if (connection.getResponseCode() == 200) {
        InputStream in = connection.getInputStream();
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        String line;
        while ((line = reader.readLine()) != null) {
            System.out.println(line);
        }
        reader.close();
    } else {
        System.out.println("请求失败!");
    }
} catch (IOException e) {
    e.printStackTrace();
}

以上代码通过HttpURLConnection发送了一个POST请求,并输出了返回的数据。需要注意的是,这里使用了setDoOutput(true)方法允许输出数据,并通过setRequestProperty("Content-Type", "application/json")设置请求头中的Content-Type信息。同时,还需要在输出流中写入请求的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:一文读懂JAVA中HttpURLConnection的用法 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • Java中数据库常用的两把锁之乐观锁和悲观锁

    Java中数据库常用的两把锁是乐观锁和悲观锁。 什么是乐观锁和悲观锁? 悲观锁 悲观锁假定在执行操作时会产生并发冲突,因此在操作数据前先加锁,确保操作数据时不会被其他人修改。悲观锁的典型实现就是数据库中的行锁、表锁。 在Java中,悲观锁常用的实现就是synchronized关键字和ReentrantLock类。 乐观锁 乐观锁假定在执行操作时不会产生并发冲…

    Java 2023年5月19日
    00
  • Java日常练习题,每天进步一点点(11)

    Java日常练习题是一组有关Java语言的练习题,可以帮助练习者巩固Java语言的基础知识,提高编程技巧和解决问题的能力。以下是本文对“Java日常练习题,每天进步一点点(11)”进行详细讲解的攻略。 1.题目描述 “Java日常练习题,每天进步一点点(11)”所涉及的题目包含以下几个方面: 如何计算一个数组的和; 如何计算一个数组的平均值; 如何查找数组中…

    Java 2023年5月26日
    00
  • 海量数据去重排序bitmap(位图法)在java中实现的两种方法

    海量数据去重排序bitmap(位图法)是一种高效的数据处理方法,可以有效提升数据处理的效率。在Java中实现海量数据去重排序bitmap(位图法)可以采用以下两种方法: 1. 使用Java BitSet类实现位图法 1.1 初始数据的准备 在使用位图法进行去重排序之前,需要先将原始数据以字符串的形式进行处理,并按照一定规则转化为二进制码。在这个例子中,我们将…

    Java 2023年5月26日
    00
  • 详解Java代码常见优化方案

    详解Java代码常见优化方案 Java作为一门常用的编程语言,其代码的性能优化是开发过程中需要考虑的一项重要问题。本文将分析常见的Java代码优化方案,以及如何在实际项目中应用这些优化方案,提高程序的运行效率。 1. 合理使用变量 在Java中,变量使用的不合理将会带来很多性能问题。例如,如果在循环中声明一个大对象,将会带来显著的内存压力,降低程序的运行效率…

    Java 2023年5月23日
    00
  • 通俗讲解JVM的类加载机制

    我们来详细讲解一下JVM的类加载机制。 1. 什么是类加载 类加载是指将类的.class文件中的二进制数据读入内存,将其转换成方法区中的运行时数据结构,在堆中生成一个代表该类的java.lang.Class对象,作为方法区中该类的各种数据的访问入口。类加载是Java虚拟机进行的一个重要的工作。 2. 类加载的过程 类加载的过程分为三个步骤: 2.1 加载(L…

    Java 2023年6月15日
    00
  • springboot实用配置详细图文教程

    我来为你详细讲解“springboot实用配置详细图文教程”的完整攻略。 1. 准备工作 首先,我们需要安装以下几个软件:- JDK 1.8+- Maven- IDE(如IntelliJ IDEA) 2. 创建Spring Boot项目 现在,我们可以开始创建一个Spring Boot项目了。在IDE中,选择新建一个Maven项目,选择Spring Init…

    Java 2023年5月31日
    00
  • 全面解析SpringBoot文件上传功能

    Spring Boot提供了很多方便的功能,其中包括文件上传功能。在本文中,我们将详细讲解如何使用Spring Boot实现文件上传功能。 增加依赖 首先,我们需要在pom.xml文件中增加web和thymeleaf的依赖。下面是一个示例: <dependency> <groupId>org.springframework.boot&…

    Java 2023年5月18日
    00
  • 垃圾回收的实现原理是什么?

    下面我就来详细讲解一下“垃圾回收的实现原理是什么?”的完整使用攻略。 垃圾回收的实现原理 垃圾回收是一种自动化内存管理的技术,它可以在程序运行时,自动回收不再被使用的内存,以避免内存泄漏和内存溢出等问题的发生。垃圾回收的实现原理主要分为以下几个步骤: 标记阶段:首先遍历整个堆内存,对每个对象进行标记,标记出那些是活对象,那些是死对象; 清除阶段:然后将所有死…

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