Java实现发送Get、Post请求仅需两步

Java实现HttpClient发送GET、POST请求(https、http) HttpPost方式调用接口方式 第一步,添加依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.3.3</version> </depe... 阅读详情

前言

普通Java程序想要发送Get、Post等请求可以采用HttpClient实现,下面给出HttpClient使用方法,并已经封装成方法,直接拿去用即可

准备工作

在maven中导入依赖:

		<dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpmime</artifactId>
            <version>4.5.13</version> <!--版本可自选-->
        </dependency>

Get请求

记得在类中写上一个静态变量:private static HttpClient client = HttpClients.createDefault();

	/**
     * 发送HttpGet请求
     * @param url 请求的url
     * @param params get请求携带的参数
     * @param headers 请求头需要额外携带的参数
     * @return Sting格式的响应结果
     */
    public static String Get(String url, HashMap<String, String> params, HashMap<String, String> headers) {

        HttpGet httpGet = new HttpGet();

        // 设置请求头
        httpGet.addHeader("Accept", "application/json");
        httpGet.addHeader("Accept-Language", "zh-CN,zh;q=0.9");
        httpGet.addHeader("Connection", "keep-alive");
        httpGet.addHeader("Content-Type", "application/json; charset=utf-8");
        httpGet.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36");

        if (headers != null && headers.size() > 0) {
            headers.forEach(httpGet::addHeader);
        }

        // 设置参数
        if (params != null && params.size() > 0) {
            StringBuilder newUrl = new StringBuilder(url + "?");
            params.forEach((k, v) -> newUrl.append(k).append("=").append(v).append("&"));
            httpGet.setURI(URI.create(newUrl.toString()));
        }

        String response;
        try {
            HttpResponse execute = client.execute(httpGet);
            // 获取响应实体
            HttpEntity responseEntity = execute.getEntity();
            response = responseEntity != null ? EntityUtils.toString(responseEntity, "UTF-8") : "响应结果为null";
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        return response;
    }

Post请求

记得在类中写上一个静态变量:private static HttpClient client = HttpClients.createDefault();

	/**
     * 发送HttpPost请求
     * @param url 请求的url
     * @param payloads post请求携带的请求体
     * @param headers 请求头需要额外携带的参数
     * @return Sting格式的响应结果
     */
    public static String Post(String url, HashMap<String, String> payloads, HashMap<String, String> headers) {

        HttpPost httpPost = new HttpPost(url);

        // 设置请求头
        httpPost.addHeader("Accept", "application/json");
        httpPost.addHeader("Accept-Language", "zh-CN,zh;q=0.9");
        httpPost.addHeader("Connection", "keep-alive");
        httpPost.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36");

        if (headers != null && headers.size() > 0) {
            headers.forEach(httpPost::addHeader);
        }

        // 构建请求体参数
        if (payloads != null && payloads.size() > 0) {
            MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
            payloads.forEach((k, v) -> {
                if (k.equals("Boundary")) {
                    entityBuilder.setBoundary(v);
                } else {
                    entityBuilder.addTextBody(k, v);
                }
            });

            httpPost.setEntity(entityBuilder.build());
        }

        String response;
        try {
            HttpResponse execute = client.execute(httpPost);
            // 获取响应实体
            HttpEntity responseEntity = execute.getEntity();
            response = responseEntity != null ? EntityUtils.toString(responseEntity, "UTF-8") : "响应结果为null";
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        return response;
    }
Java实现发送Get和Post请求 前言 已经有几天没有写博客了 , 原因是最近生活中有大量的事情, 尽管每天都在学习 , 但是却没有将知识点记录在博客中 , 感觉这样非常不好 . 以后一定要坚持写博客 , 记录自己成长历程 希望可以在这里找到一些志同道合的朋友 , 一起努力 , 一起进步. 总结归类 Java创建代理连接对象 Java发送Post请求 Java发送Get请求 代码Java创建代理连接对象 /** 阅读详情

相关推荐

Java Socket 实现HTTP与HTTPS协议发送POST/GET请求

Java Socket 实现HTTP与HTTPS协议发送POST/GET请求

qq_44894516的博客 1126

Java发送get请求

【代码】Java发送get请求。

青春不打烊的博客 2919

Java URLConnection类 发送POST GET请求 及其实现原理杂谈

回顾1【JAVA URLConnection 实现下载小文件】 回顾2【Java使用socket通过http下载文件】里面有关于http的比较基础的知识 请求信息 无论POST还是GET请求,传输信息的核心思想就是 k-v,即 key-value , 【键-值】 以键值对的形式传递字符串信息,如下是一个键值对 key1=value1 多对键值,每队之间用&隔开 key1=value1&key2=value2&key3=value3 GET请求如何携带信息 get请求可谓最常见的请

AKGWSB 's blog 1292

Java发起GET请求的二三事

一、拼接url 首先我们需要知道的是,url是要符合一定格式的,比如我们就不能在url中写“$”、“#”、中文、空格等。所以,我们这里采用application/x-www-form-urlencoded格式对请求参数进行编码,可参考如下代码: /** * 构造完整请求url(带参数) * @param url 请求url,形如:http://192.168.1.19 * @param params 请求参数,key是参数名,value是参数值 * @retu

markMe1024的博客 5723

Java发送POST方法详解

通过使用Java提供的类库,我们可以轻松地与服务器进行交互,并实现数据的传输和通信。希望本文能够帮助您理解和掌握Java发送POST请求的技术,为您Java编程工作提供帮助。与GET请求相比,POST请求可以发送较大量的数据,并且更加安全,适用于传输敏感信息。使用Java发送POST请求非常灵活,您可以根据具体需求设置请求头、构造请求体数据,并解析服务器的响应结果。本文将详细介绍如何使用Java发送POST请求,并提供示例代码和详细描述,帮助您快速掌握该技术。【Java POST请求实现及示例】

PixelCoder的博客 3926

Java编写POST请求] - 使用Java编写POST请求发送数据示例

在这篇文章中,我们将探讨如何使用Java编写POST请求来发送数据。我们将学习如何使用Java的网络库来创建和发送POST请求,以及如何处理服务器的响应。类,创建了一个简单的示例代码来演示POST请求的发送和响应处理过程。这样,我们就完成了使用Java编写POST请求发送数据的示例。首先,我们需要导入Java的网络库,以便能够进行HTTP通信。在Java中,我们可以使用。接下来,我们启用了输入和输出流,以便能够发送请求体参数。通过这篇文章,我们了解了如何使用Java编写POST请求来发送数据。

PixelCoder的博客 647

125. Java 发送 GET、POST 请求

HTTP协议是Web通信的基础,采用请求-响应模型,具有无状态、明文传输等特点。GET和POST是两种主要请求方法:GET通过URL传递数据,适合查询;POST通过请求体传递数据,适合提交。请求头携带元数据(如User-Agent、Content-Type),请求体包含实际数据(如JSON)。URL编码将特殊字符转换为安全格式,Java中可使用URLEncoder类实现。开发时需注意方法选择、数据格式匹配和编码处理。

weixin_43484713的博客 2581

安装 Claude Code 并接入阿里云百炼(Bailian)

这些工具通常提供可视化界面,只需在设置中填入阿里云百炼的 API Key 和 Base URL 即可,无需配置环境变量。注意:如果你使用的是阿里云百炼的 Coding Plan 套餐,请使用该套餐专属的 API Key 和 Base URL。你可以使用文本编辑器打开该文件,或者在终端使用命令(如 macOS/Linux 下使用 nano ~/.claude/settings.json)。你可以直接用自然语言下达指令,例如:“帮我在这个目录下写一个 Python 脚本,实现两数之和的功能”。

hopsky的博客 1841

Java发送GET/POST请求

使用java.net包发送HTTP POST和GET请求的Java代码如下: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.M.

q1424966670的博客 1万+

Qt+OpenGL+Cesium三件套:打造高性能3D GIS桌面应用的5个关键点

本文深入探讨了如何利用Qt、OpenGL和Cesium数据规范构建高性能桌面级3D GIS应用。文章聚焦于五个关键点:架构选型、OpenGL渲染优化、3D Tiles数据解析与调度、内存与多线程管理,以及高级特性实现,旨在帮助开发者在C++生态中打造不依赖网络、运算能力更强的重型3D地理信息客户端。

weixin_28197941的博客 380

射频测试基础知识总结

表示可以辐射到空间的电磁频率,频率范围从300KHz~110GHz之间,射频简称RF,是高频交流变化电磁波的简称,其每秒变化小于1000次被称为低频电流,超过10000次的称为高频电流,而射频就是这种高频电流。为了确保天线接收的信号能够在接收机的最后一级被正确的恢复,一个好的低噪音放大器需要在放大信号的同时产生尽可能低的噪音以及失真。两种,带内试验的范围也有一定的差别,比如,带内试验主要是检测信号的质量,如功率、频谱宽度、调制质量,而带外测试的是信号的杂散、谐波,主要是看对频带之外的干扰有多大。

cny70的博客 9627

用Java实现发送http的get和post请求

import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; /** * j

LeLe_Feb 1万+

中标麒麟,postgres报错invalid value for parameter "timeZone":"Asia/Beijing"

在中标麒麟服务器上,安装postgres,启动tomcat容器时,报invalid value for parameter "timeZone":"Asia/Beijing"。 查看postgres运行日志,也报同样的错误。 报错原因:服务器的时区,在Postgres支持的时区目录中找不到。当时在服务器上信息为Beijing 解决步骤: 1. cat /etc/sysconfig/cloc

u010213931的博客 7924

java 发送get和post请求

URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接。程序可以通过URLConnection实例向该URL发送请求、读取URL引用的资源。通常创建一个和 URL 的连接,并发送请求、读取此 URL 引用的资源需要如下几个步骤:(1)通过调用URL对象openConnection()方法来创建URLConnection对象

Alex的专栏 1万+

2026最新华为OD机试新系统机考真题- 真题题库目录|全覆盖题库 + 逐点算法考点详解

2026年4月1日起,华为OD机试正式切换至新系统模式!采用力扣模式,无需自己写输入! 难度大幅度降低。正在备考华为OD机试的同学,优先刷新系统机试真题,可大幅提升通过率。 新系统考题考点与旧版一致,无需重新适应。本专栏所有算法题均配有详细思路解析,并提供C语言、JS、C++、Python、Go、Java多语言源码实现。订阅后私信即可开通专属OJ刷题权限,高效备考一次上岸!

算法大师! 2493

《深入浅出多模态》(四):多模态经典模型CLIP

本文为《深入浅出多模态》系列多模态经典模型CLIP,首先从整体介绍多模态模型发展,对其中经典CLIP模型进行详述,从具体论文、数据集、代码、模型结构、结果等角度分析,本专栏适合从事多模态小白及爱好者学习,欢迎大家关注,如有侵权请联系删除!

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1045

Java后台发送Get、Post请求

1、发送get请求 public static String sendGet(String url) { String result = ""; BufferedReader in = null; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnect

weixin_41251573的博客 1111

CAN(2)-GD32

GD32中CAN的特征。

小柚子的博客 552

Java发送HTTP GET/POST请求

四种发送Http的GET/POST的例子

wynn的博客 6766

【Bug已解决】Codex App returns 401 Missing bearer/basic authentication after login on multiple Windows la

原始报错:Codex App returns 401 Missing bearer/basic authentication after login on multiple Windows laptops场景:用户在 Windows 笔记本上登录应用成功了,但随后每个业务请求都返回 401,提示"Missing bearer/basic authentication"。登录态像是"假的"——明明登了,请求却没带任何认证信息。多台 Windows 设备都能复现。

一键难忘的博客 589

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

向指定URL发送GET/POST请求

使用Java发送GET、POST请求 ——节选自《疯狂Java讲义》    URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接。程序可以通过URLConnection实例向该URL发送请求、读取URL引用的资源。通常创建一个和 URL 的连接,并发送请求、读取此 URL 引用的资源需要如下几个步骤:(1)通过调用U

bfxyly的专栏 7532

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java https post get请求_Java实现Https发送get和post请求

本文摘自classinstance.cn。我们工作中经常需要请求第三方或者自己项目中一些接口,有post和get请求,http协议的实现起来很简单,那么https呢?java中如何实现发送https请求并得到响应数据?java中带了javax.net.ssl.HttpsURLConnection类,可以实现https请求。下面直接分享我的工具类HttpUtil类,HttpUtil有两个方法http...

weixin_39587822的博客 2752

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java发送get post请求参数_使用Java发送GET、POST请求

使用Java发送GET、POST请求使用Java发送GET、POST请求——节选自《疯狂Java讲义》URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接。程序可以通过URLConnection实例向该URL发送请求、读取URL引用的资源。通常创建一个和 URL 的连接,并发送请求、读取此 URL 引用的资源需要如下几个...

weixin_42150745的博客 1071

java发送http的get、post请求

原文链接:http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html Http请求类: package wzh.Http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import jav...

热带雨林-的博客 1171

Java原生类库发送 get post 请求

使用Java原生类库发送get post请求 下面是整个工具的全部代码,其中用到了fastjson: package util; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java...

chanchaw的专栏 1102
上一篇: HTTP协议中的Boundary是什么
下一篇: Java自定义类加载器的详解与步骤
JavaWizard-M
博客等级 码龄6年 3159粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值