首页 > 编程语言 >java调用第三方接口

java调用第三方接口

时间:2023-09-13 17:37:17浏览次数:34  
标签:调用 java http 接口 connection org apache import response

方法一:使用HttpURLConnection类调用第三方接口的示例代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class ThirdPartyApiCaller {
    public static void main(String[] args) {
        try {
            // 创建URL对象
            URL url = new URL("https://api.example.com/endpoint");

            // 创建HttpURLConnection对象
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            // 设置请求方法为GET
            connection.setRequestMethod("GET");

            // 发送请求
            int responseCode = connection.getResponseCode();

            // 检查响应码
            if (responseCode == HttpURLConnection.HTTP_OK) {
                // 读取响应内容
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line;
                StringBuilder response = new StringBuilder();
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();

                // 处理响应内容
                System.out.println(response.toString());
            } else {
                // 处理错误响应
                System.out.println("请求失败,响应码:" + responseCode);
            }

            // 关闭连接
            connection.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上代码是使用GET方法发送请求

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;

public class ThirdPartyApiCaller {
    public static void main(String[] args) {
        try {
            // 创建URL对象
            URL url = new URL("https://api.example.com/endpoint");

            // 创建HttpURLConnection对象
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            // 设置请求方法为POST
            connection.setRequestMethod("POST");

            // 设置请求头
            connection.setRequestProperty("Content-Type", "application/json");

            // 启用输出流
            connection.setDoOutput(true);

            // 创建请求体
            String requestBody = "{\"param1\":\"value1\", \"param2\":\"value2\"}";

            // 将请求体写入输出流
            DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
            outputStream.write(requestBody.getBytes(StandardCharsets.UTF_8));
            outputStream.flush();
            outputStream.close();

            // 发送请求
            int responseCode = connection.getResponseCode();

            // 检查响应码
            if (responseCode == HttpURLConnection.HTTP_OK) {
                // 读取响应内容
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String line;
                StringBuilder response = new StringBuilder();
                while ((line = reader.readLine()) != null) {
                    response.append(line);
                }
                reader.close();

                // 处理响应内容
                System.out.println(response.toString());
            } else {
                // 处理错误响应
                System.out.println("请求失败,响应码:" + responseCode);
            }

            // 关闭连接
            connection.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上代码是使用POST方法发送请求

方法二:使用Apache HttpClient库来调用第三方接口

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

public class ThirdPartyApiCaller {
    public static void main(String[] args) {
        try {
            // 创建HttpClient对象
            HttpClient client = HttpClientBuilder.create().build();

            // 创建HttpGet对象
            HttpGet request = new HttpGet("https://api.example.com/endpoint");

            // 发送请求
            HttpResponse response = client.execute(request);

            // 检查响应码
            if (response.getStatusLine().getStatusCode() == 200) {
                // 读取响应内容
                HttpEntity entity = response.getEntity();
                String responseBody = EntityUtils.toString(entity);

                // 处理响应内容
                System.out.println(responseBody);
            } else {
                // 处理错误响应
                System.out.println("请求失败,响应码:" + response.getStatusLine().getStatusCode());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上代码使用HttpClient库发送GET请求

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;

public class ThirdPartyApiCaller {
    public static void main(String[] args) {
        try {
            // 创建HttpClient对象
            HttpClient client = HttpClientBuilder.create().build();

            // 创建HttpPost对象
            HttpPost request = new HttpPost("https://api.example.com/endpoint");

            // 设置请求头
            request.setHeader("Content-Type", "application/json");

            // 创建请求体
            String requestBody = "{\"param1\":\"value1\", \"param2\":\"value2\"}";

            // 设置请求体
            StringEntity entity = new StringEntity(requestBody);
            request.setEntity(entity);

            // 发送请求
            HttpResponse response = client.execute(request);

            // 检查响应码
            if (response.getStatusLine().getStatusCode() == 200) {
                // 读取响应内容
                HttpEntity responseEntity = response.getEntity();
                String responseBody = EntityUtils.toString(responseEntity);

                // 处理响应内容
                System.out.println(responseBody);
            } else {
                // 处理错误响应
                System.out.println("请求失败,响应码:" + response.getStatusLine().getStatusCode());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

以上代码使用HttpClient库发送POST请求


标签:调用,java,http,接口,connection,org,apache,import,response
From: https://blog.51cto.com/u_16207360/7462569

相关文章

  • 无涯教程-JavaScript - ISERROR函数
    描述如果ISERROR函数引用的是Excel错误,则该函数将返回逻辑值TRUE。否则返回FALSE。语法ISERROR(value)争论Argument描述Required/OptionalvalueAnerrorRequiredNotes此函数在公式中用于测试计算输出很有用。与IF函数结合使用时,此函数提供了一种用于定位公式中......
  • 大厂裁员,社招锁 HC,行业内卷严重,Java工程师校招该何去何从?
    一、背景2021年底到2022年,受到疫情和业务发展的影响,很多大厂都开始裁员,社招也开始锁HC,只出不进。而且现在Java面试日益内卷,“面试造火箭,入职拧螺丝”已经不再是啥令人惊讶的事情。这这个大背景下,对我们的校招又会有怎样的影响,我们又该如何应对?本文简单聊下这个话题。二、校......
  • 大厂校招缩招,今年 Java 后端同学校招该何去何从?
    一、背景最近有一些学弟学妹请教一些校招相关的问题。作为一个经历过校招(校招拿到了美团、网易等公司Offer)、社招(在阿里工作),当过面试官的过来人,希望通过本文让大家能够意识到今年校招的形势,帮助大家了解校招复习的误区。前几年互联网很好找工作,尤其是985和211高校的同学,找......
  • Java 程序员的效率工具箱
    一、前言作为Java程序员,常用的软件开发软件(如IDEA、Eclipse)、开源项目(SpringBoot、MyBatis、Dubbo、RocketMQ、Guava等)就那些无需赘述,这里就不想介绍了。借着这个机会,本文介绍几款自己日常开发中经常用到的能够提效的软件和插件,希望对大家有帮助。二、高效软件2.1效率工具集......
  • Java基础——==和equals的区别
     ==:既可以判断基本类型,又可以判断引用类型。==:如果判断基本类型,判断的是值是否相等。==:如果判断的是引用类型,判断的是地址是否相等,即判断是不是同一对象。equals:是object类中的方法,只能判断引用类型。默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。(具体可查......
  • Java实现常见查找算法
    Java实现常见查找算法查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。线性查找线性查找(LinearSearch)是一种简单的查找算法,用于在数据集中逐一比较每个元素,直到找到目标元素或搜索完整个数据集。它适用于任何类型......
  • 为什么要学习 JavaScript?
    出于多种原因,学习JavaScript非常有帮助,特别是如果您对Web开发或一般编程感兴趣的话。以下是学习JavaScript的一些有力论据:灵活性:JavaScript编程语言非常灵活,可用于前端和后端Web开发。它经常用于创建桌面应用程序(使用Electron等框架)以及移动应用程序(使用ReactNative)。W......
  • Java开发常用工具类
    目录一.org.apache.commons.io.IOUtils二.org.apache.commons.io.FileUtils三.org.apache.commons.lang.StringUtils四.org.apache.http.util.EntityUtils五.org.apache.commons.lang3.StringUtils六.org.apache.commons.io.FilenameUtils七.org.springframework.ut......
  • 无涯教程-JavaScript - ISERR函数
    描述如果ISERR函数引用的是Excel错误(#N/A错误除外),则ISERR函数返回逻辑值TRUE。否则返回FALSE。语法ISERR(value)争论Argument描述Required/OptionalvalueAnerrorRequiredNotes此函数在公式中用于测试计算输出很有用。与IF函数结合使用时,此函数提供了一种用于......
  • 亚马逊API接口解析,实现按关键字搜索商品
    要解析亚马逊API接口并实现按关键字搜索商品,你需要按照以下步骤进行操作:了解亚马逊开发者中心:访问亚马逊开发者中心,并了解相关的API文档、开发者指南和规定。注册开发者账号:在亚马逊开发者中心上注册一个开发者账号,并创建一个应用,获取到API权限。获取API密钥:为了使用亚马逊API接......