java中如何使用HttpClient调用接口

下面是关于如何在Java中使用HttpClient调用接口的完整攻略。

简介

HttpClient是一个开源的Java HTTP客户端库,它适用于处理HTTP请求和响应,并支持多种协议,如HTTP、HTTPS、FTP、UDP等。使用HttpClient可以方便、可靠地进行网络通信,是Java程序员进行HTTP请求的绝佳工具。

添加依赖

为了使用HttpClient,我们需要在项目中添加它的依赖。

如果你使用Maven构建项目,可以在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.13</version>
</dependency>

如果你使用Gradle构建项目,可以在build.gradle文件中添加以下依赖:

implementation 'org.apache.httpcomponents:httpclient:4.5.13'

发送GET请求

下面我们来介绍如何使用HttpClient发送GET请求。

import org.apache.http.client.methods.CloseableHttpResponse;
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.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;


public class HttpClientExample {

    public static void main(String[] args) throws IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpGet httpGet = new HttpGet("https://www.baidu.com");
        CloseableHttpResponse httpResponse = httpClient.execute(httpGet);

        try {
            InputStream inputStream = httpResponse.getEntity().getContent();
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }

            EntityUtils.consume(httpResponse.getEntity());
        } finally {
            httpResponse.close();
        }
    }
}

这是一个简单的Java程序,它发送一个GET请求到https://www.baidu.com并打印响应的主体。让我们来看看程序是如何工作的:

  • 使用HttpClients.createDefault()方法创建一个默认的HttpClient实例。
  • 使用HttpGet类创建一个GET请求实例,并设置请求的URL。
  • 使用httpClient.execute()方法发送请求。这个方法返回一个HttpResponse实例,其中包含响应的状态码、头部和主体。
  • 从HttpResponse实例中获取响应的主体,并打印它。

发送POST请求

下面我们来介绍如何使用HttpClient发送POST请求。

import org.apache.http.HttpEntity;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import java.io.IOException;

public class HttpPostExample {

    public static void main(String[] args) throws IOException {
        CloseableHttpClient httpClient = HttpClients.createDefault();

        String url = "http://httpbin.org/post";
        String body = "{\"name\": \"john\", \"age\": 30}";

        HttpPost httpPost = new HttpPost(url);

        StringEntity stringEntity = new StringEntity(body, ContentType.APPLICATION_JSON);
        httpPost.setEntity(stringEntity);

        RequestConfig config = RequestConfig.custom()
                .setConnectTimeout(5000)
                .setSocketTimeout(5000)
                .build();
        httpPost.setConfig(config);

        CloseableHttpResponse httpResponse = httpClient.execute(httpPost);

        try {
            HttpEntity entity = httpResponse.getEntity();
            String response = EntityUtils.toString(entity);
            System.out.println(response);
        } finally {
            httpResponse.close();
        }
    }
}

这个程序发送了一个POST请求到http://httpbin.org/post,包含一个JSON格式的请求主体。让我们看看它是如何工作的:

  • 使用HttpClients.createDefault()方法创建一个默认的HttpClient实例。
  • 定义请求的URL和请求主体。
  • 使用HttpPost类创建一个POST请求实例,并设置请求的URL。
  • 使用StringEntity类将请求主体添加到请求中。
  • 使用RequestConfig类设置请求的连接超时和套接字超时。
  • 使用httpClient.execute()方法发送请求。这个方法返回一个HttpResponse实例,其中包含响应的状态码、头部和主体。
  • 从HttpResponse实例中获取响应主体,并打印它。

结语

以上就是使用HttpClient发送HTTP请求的完整攻略,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中如何使用HttpClient调用接口 - Python技术站

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

相关文章

  • jabsorb笔记_几个小例子第1/2页

    jabsorb笔记_几个小例子第1/2页 什么是jabsorb jabsorb是一个 JavaScript 对象表示法 (JSON) 库,它将 Java 对象转换为 JSON 格式并反向转换。它具有很高的效率和灵活性,并且易于使用。 jabsorb的使用方法 jabsorb的使用非常简单,只需要引入jabsorb的jar包,然后创建一个JSONRPCBrid…

    Java 2023年6月15日
    00
  • java编写简单的ATM存取系统

    下面是Java编写简单的ATM存取系统的完整攻略。 1. 确定需求分析 在开始编写ATM系统之前,我们需要对系统的需求进行分析和确认。该系统的主要功能包括: 可以登录和注册账户 可以查询账户余额 可以取款和存款 可以修改账户密码 可以退出系统 2. 设计系统架构 确定了需求之后,我们需要设计ATM系统的整体架构。整个系统需要有以下几个模块: 用户登录和注册模…

    Java 2023年5月19日
    00
  • Apache和Tomcat有什么区别_动力节点Java学院整理

    Apache和Tomcat有什么区别_动力节点Java学院整理 简介 Apache和Tomcat都是常见的Java Web服务器。它们的区别在于它们的作用以及它们处理请求的方式。Apache是一个Web服务器,它通过HTTP和HTTPS协议分发静态文件和动态文件,而Tomcat是一个Servlet容器,它只能在动态资源请求时运行Servlet。在实际应用开发…

    Java 2023年5月20日
    00
  • Java10新特性解读

    Java10新特性解读 Java10是Java语言的最新版本,自2018年3月正式发布以来,引入了不少新特性和改进。本文将详细解析Java10的新特性,并给出一些相应的示例。 局部变量类型推断 在Java10中,引入了一项新特性:局部变量类型推断。这意味着,当我们声明局部变量时,可以使用var关键字代替显式类型声明。编译器将根据变量的初始值来自动推断其类型。…

    Java 2023年5月19日
    00
  • 并发收集器的作用是什么?

    并发收集器是一种提供“与用户线程同时执行”的垃圾收集器,它的主要作用是在垃圾收集过程中不影响应用程序的运行。 在使用并发收集器时,首先需要在JVM启动参数中指定收集器类型,可以使用以下参数: -XX:+UseConcMarkSweepGC 接着需要在代码中对需要进行垃圾收集的对象进行特殊标记,例如: private final ConcurrentMap&l…

    Java 2023年5月10日
    00
  • javaWeb使用Kaptcha组件生成验证码

    下面为您详细讲解“javaWeb使用Kaptcha组件生成验证码”的完整攻略。 什么是Kaptcha组件 Kaptcha是Google code上的一个开源项目,是一个Java的验证码组件,可用于生成验证码。 Kaptcha组件的优点 与其他验证码组件相比,Kaptcha组件有以下优点: 易于使用和集成。 提供了丰富的配置选项,可以自由定制验证码图片样式。 …

    Java 2023年6月15日
    00
  • Java对文件的随机读写以及压缩处理操作

    针对Java对文件的随机读写以及压缩处理操作,下面是一些攻略供您参考: Java文件的随机读写操作 1. 文件的随机读取(RandomAccessFile) RandomAccessFile类是Java文件操作中用于支持对文件随机访问的类,可以在文件指针任意位置读写数据。使用RandomAccessFile类,我们一般需要实现以下步骤: 创建RandomAc…

    Java 2023年5月31日
    00
  • 如何让Win10实现Java文件的开机自启动

    下面是详细讲解“如何让Win10实现Java文件的开机自启动”的完整攻略。 1. 创建Java应用程序 首先,需要创建一个可以独立运行的Java应用程序。在本例中,我们将创建一个简单的Hello World程序。 public class HelloWorld { public static void main(String[] args) { System…

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