java如何发送get请求获取数据(附代码)

 更新时间:2023年10月27日 08:26:35   作者:梦醒贰零壹柒  
这篇文章主要给大家介绍了关于java如何发送get请求获取数据的相关资料,Java中的GET请求方法是HTTP协议中的一种请求方式,用于向服务器请求获取资源,需要的朋友可以参考下

1、使用Java标准库中的HttpURLConnection:

代码示例:

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

public class GetRequestUsingHttpURLConnection {
    public static void main(String[] args) {
        String url = "https://api.example.com/data"; // 替换成实际的API地址

        try {
            URL apiUrl = new URL(url);
            HttpURLConnection connection = (HttpURLConnection) apiUrl.openConnection();
            connection.setRequestMethod("GET");

            int responseCode = connection.getResponseCode();
            if (responseCode == HttpURLConnection.HTTP_OK) {
                BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = reader.readLine()) != null) {
                    response.append(inputLine);
                }
                reader.close();

                System.out.println(response.toString());
            } else {
                System.out.println("GET request failed. Response code: " + responseCode);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2、使用OkHttp库:

安装依赖

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.1</version>
</dependency>

代码示例

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

import java.io.IOException;

public class GetRequestUsingOkHttp {
    public static void main(String[] args) {
        String url = "https://api.example.com/data"; // 替换成实际的API地址

        OkHttpClient httpClient = new OkHttpClient();

        Request request = new Request.Builder()
                .url(url)
                .get()
                .build();

        try {
            Response response = httpClient.newCall(request).execute();
            if (response.isSuccessful()) {
                String responseData = response.body().string();
                System.out.println(responseData);
            } else {
                System.out.println("GET request failed. Response code: " + response.code());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

附:java发送get请求传json数据

在Java中发送GET请求传递JSON数据,可以使用HttpClient库来实现。以下是一个示例代码:

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

import java.io.IOException;

public class Main {
    public static void main(String\[\] args) {
        HttpClient httpClient = HttpClientBuilder.create().build();
        String url = "http://example.com/api";
        String json = "{\"key\":\"value\"}";

        try {
            HttpGetWithEntity httpGet = new HttpGetWithEntity(url);
            httpGet.setEntity(new StringEntity(json));

            HttpResponse response = httpClient.execute(httpGet);
            String responseBody = EntityUtils.toString(response.getEntity());

            System.out.println(responseBody);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们使用HttpClient库创建了一个HttpClient对象,并指定了请求的URL和JSON数据。然后,我们创建了一个HttpGetWithEntity对象,并将JSON数据设置为请求的实体。最后,我们执行GET请求并获取响应的内容。

请注意,这只是一个示例代码,你需要根据你的实际情况进行适当的修改。

总结 

到此这篇关于java如何发送get请求获取数据的文章就介绍到这了,更多相关java发送get请求获取数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java高并发ScheduledThreadPoolExecutor类深度解析

    java高并发ScheduledThreadPoolExecutor类深度解析

    这篇文章主要为大家介绍了java高并发ScheduledThreadPoolExecutor类源码深度解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Java中对于双属性枚举的使用案例

    Java中对于双属性枚举的使用案例

    今天小编就为大家分享一篇关于Java中对于双属性枚举的使用案例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • SVN出现提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir解决方案

    SVN出现提示org.apache.subversion.javahl.ClientException: Attempt

    这篇文章主要介绍了SVN出现提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir解决方案的相关资料,需要的朋友可以参考下
    2016-12-12
  • 详解Java中$符的各种使用场景

    详解Java中$符的各种使用场景

    在Java编程中,我们会经常看到$符的身影,比如经常在配置文件中看到$符号作为变量占位符,用于在运行时动态地获取变量值。本文将详细介绍$符号在Java编程中的各种应用场景,以帮助您更好地理解和运用这个符号,感兴趣的小伙伴可以收藏一下
    2023-04-04
  • Java实现二叉堆、大顶堆和小顶堆

    Java实现二叉堆、大顶堆和小顶堆

    二叉堆就是完全二叉树,或者是靠近完全二叉树结构的二叉树。大顶堆要求对于一个节点来说,它的左右节点都比它小;小顶堆要求对于一个节点来说,它的左右节点都比它大。本文将用Java分别实现二叉堆、大顶堆和小顶堆。需要的可以参考一下
    2022-01-01
  • java数组元素的引用实例讲解

    java数组元素的引用实例讲解

    在本篇文章里小编给大家整理的是一篇关于java数组元素的引用实例讲解内容,有需要的朋友们可以学习参考下。
    2021-03-03
  • springboot 整合邮件发送功能

    springboot 整合邮件发送功能

    这篇文章主要介绍了springboot 整合邮件发送功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • java string的一些细节剖析

    java string的一些细节剖析

    首先说明这里指的是Java中String的一些细节部分,需要的朋友可以参考
    2012-11-11
  • MyBatis动态创建表的实例代码

    MyBatis动态创建表的实例代码

    在项目需求中,我们经常会遇到动态操作数据表的需求,常见的我们会把日志、设备实时位置信息等存入数据表,并且以一定时间段生成一个表来存储。接下来通过本文给大家介绍MyBatis动态创建表的方法,感兴趣的朋友一起看看吧
    2018-07-07
  • java中使用xls格式化xml的实例

    java中使用xls格式化xml的实例

    这篇文章主要介绍了java中调用xls格式化xml的实例的相关资料,需要的朋友可以参考下
    2017-07-07

最新评论