做网站的人 优帮云/长沙seo优化公司

做网站的人 优帮云,长沙seo优化公司,容桂网站制作公司,iis网站筛选器被挂马1. HttpClient HttpClient是Apache基金会提供的一个用于发送HTTP请求的Java客户端库。 尽管它功能强大,但由于其API设计较为复杂且包体积庞大,在一些轻量级的应用场景中可能显得过于臃肿。 不过,在需要高度定制化的HTTP请求时,H…

在这里插入图片描述

1. HttpClient
HttpClient是Apache基金会提供的一个用于发送HTTP请求的Java客户端库。

尽管它功能强大,但由于其API设计较为复杂且包体积庞大,在一些轻量级的应用场景中可能显得过于臃肿。

不过,在需要高度定制化的HTTP请求时,HttpClient依然是一个不错的选择。

import org.apache.http.client.config.RequestConfig;
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;publicclassHttpClientUtil {publicstatic String get(String url)throws Exception {CloseableHttpClienthttpClient= HttpClients.createDefault();RequestConfigconfig= RequestConfig.custom().setConnectTimeout(12000).setConnectionRequestTimeout(12000).setSocketTimeout(12000).build();HttpGetrequest=newHttpGet(url);request.setConfig(config);try (CloseableHttpResponseresponse= httpClient.execute(request)) {// 处理响应return"Response received";} catch (Exception e) {thrownewRuntimeException("HTTP调用失败", e);}}
}

2. OkHttp
OkHttp是一个现代化的HTTP客户端,它提供了简洁且高效的API。

相比HttpClient,OkHttp更加轻量级且易于使用。

OkHttp支持同步和异步请求,并提供了连接池、GZIP压缩和缓存等高级功能。

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;publicclassOkHttpUtil {privatestaticfinalOkHttpClientCLIENT=newOkHttpClient();publicstatic String get(String url)throws Exception {Requestrequest=newRequest.Builder().url(url).build();try (Responseresponse= CLIENT.newCall(request).execute()) {// 处理响应return response.body().string();}}
}

3. OkHttpUtil(封装版)
为了简化OkHttp的使用,我们可以对其进行封装,提供一个更加友好的API接口。

OkHttpUtil封装版就是这样一个工具类,它使得HTTP请求变得异常简单。

// 假设已经有了一个封装好的OkHttpUtil类

public class OkHttpUtilWrapper {public static String get(String url, Map<String, Object> queryParams) throws IOException {// 假设OkHttpUtil提供了这样的get方法return OkHttpUtil.get(url, queryParams);}
}

4. Jodd HTTP
Jodd HTTP是另一个轻量级的HTTP客户端库,它提供了简洁的API和高效的性能。

Jodd HTTP支持各种HTTP方法、请求头、查询参数和表单数据等,非常适合快速构建HTTP请求。

import jodd.http.HttpRequest;
import jodd.http.HttpResponse;publicclassJoddHttpUtil {publicstatic String get(String url, Map<String, Object> queryParams)throws IOException {HttpRequestrequest= HttpRequest.get(url).query(queryParams);HttpResponseresponse= request.send();return response.bodyText();}
}

5. Hutool HTTP
Hutool是一个Java工具类库,其中包含了丰富的HTTP工具类。

Hutool HTTP提供了简洁且强大的HTTP请求功能,支持GET、POST、PUT、DELETE等多种HTTP方法,并内置了连接池和重试机制。

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;publicclassHutoolHttpUtil {publicstatic String get(String url, Map<String, Object> queryParams)throws IOException {HttpRequestrequest= HttpUtil.createGet(url).form(queryParams);HttpResponseresponse= request.execute();return response.body();}
}

6. RestTemplate
RestTemplate是Spring框架提供的一个同步HTTP客户端工具,它简化了与HTTP服务的通信,并统一了异常处理。

RestTemplate支持RESTful风格的URL模板和请求参数的绑定,非常适合与RESTful服务进行交互。

import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import org.springframework.http.ResponseEntity;@Component
publicclassRestTemplateUtil {privatefinal RestTemplate restTemplate;publicRestTemplateUtil(RestTemplateBuilder builder) {this.restTemplate = builder.build();}public String get(String url, Map<String, Object> queryParams) {Stringuri= buildUri(url, queryParams);ResponseEntity<String> response = restTemplate.getForEntity(uri, String.class);return response.getBody();}private String buildUri(String url, Map<String, Object> queryParams) {// 构建URI的逻辑return url;}
}

7. Forest
Forest是一个声明式的HTTP客户端框架,它允许开发者以接口的方式来定义HTTP请求。

Forest提供了简洁的API和强大的功能,如请求重试、超时设置、请求头等,非常适合构建复杂的HTTP请求场景。

# application.yml
forest:max-connections: 1000connect-timeout: 3000read-timeout: 3000
import com.dtflys.forest.annotation.Get;
import com.dtflys.forest.annotation.Post;
import com.dtflys.forest.annotation.Query;
import com.dtflys.forest.annotation.Header;
import com.dtflys.forest.annotation.JSONBody;
import com.dtflys.forest.springboot.annotation.ForestScan;
import org.springframework.stereotype.Component;@ForestScan(basePackages = "com.example.client")
@Component
public interface TestClient {@Get("http://localhost:20001/test/queryById")String queryById(@Header Map<String, Object> headerMap, @Query Map<String, Object> params);@Post("http://localhost:20001/test/add")String add(@Header Map<String, Object> headerMap, @JSONBody UserVo userVo);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73783.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu与Windows之间相互复制粘贴的方法

一、打开Ubuntu终端 二、卸载已有的工具 sudo apt-get autoremove open-vm-tools 三、安装工具 sudo apt-get install open-vm-tools-desktop 四、重启 直接输入reboot 注&#xff1a;有任何问题欢迎评论区交流讨论或者私信&#xff01;

ECharts实现数据可视化

ECharts实现数据可视化 一、Echarts的简介二、Echarts使用教程1.下载echarts.min.js文件2.编写echarts代码&#xff08;1&#xff09;创建渲染实列&#xff08;2&#xff09;修改option达到预期的效果&#xff08;3&#xff09;创建配置项到实例中 三、Echarts的基础配置四、前…

ArcGIS 10.8.1之后发布栅格数据的MapServer 动态工作空间 替换数据源渲染问题

背景 经过测试&#xff0c;Server 10.8.1、11.0、11.1发布相关服务设置动态空间之后&#xff0c;前端都无法自动读取同名的clr色彩映射表文件进行渲染&#xff0c;服务都是由ArcGIS Pro进行发布。 原因 基于ArcMap发布的服务才支持&#xff0c;但是10.8.1之后不支持ArcMap发…

vscode在使用 alt + tab 切换程序窗口时,输入法总是自动变为中文模式

因为需要在 vscode 中编写代码&#xff0c;将输入法设为英文模式&#xff0c;但是用 alt tab 切换到浏览器查看文档&#xff0c;此时浏览器也是英文模式&#xff0c;但是再切回 vscode 后就变为中文模式了&#xff0c;需要使用 shift 键切换为英文模式&#xff0c;一次两次还好…

【Linux加餐-网络命令】

一、Ping命令 Ping 是一种网络工具&#xff0c;用于测试主机之间的连通性。它通过发送 ICMP&#xff08;Internet Control Message Protocol&#xff09;回显请求 报文到目标主机&#xff0c;并等待目标主机返回 ICMP 回显应答 报文&#xff0c;从而判断网络是否通畅以及测量往…

vulhub靶场jangow-01-1.0.1

启动靶机时点shift停在这个界面 点e进入编辑页面&#xff0c;把ro改成rw signie init/bin/bash Ctrlx保存&#xff0c;ip a查看网卡信息 vim /etc/network/interfaces 把enp0s17改为ens33&#xff0c;保存退出 重启靶机&#xff0c;nmap扫ip ip为192.168.93.179 nmap扫端口 扫…

数仓架构告别「补丁」时代!全新批流一体 Domino 架构终结“批流缝合”

在数字化转型的浪潮中&#xff0c;企业对数据处理的需求日益复杂多变&#xff0c;传统的批处理和流处理架构已难以满足日益增长的性能和时效性要求。在此背景下&#xff0c;YMatrix CEO 姚延栋发布了深度文章《数仓架构告别「补丁」时代&#xff01;全新批流一体 Domino 架构终…

一文详解QT环境搭建:ubuntu20.4安装配置Qt5

随着软件开发技术的不断进步&#xff0c;跨平台应用程序的需求日益增长&#xff0c;开发者们面临着如何在不同操作系统之间保持代码的一致性和效率的问题。Qt作为一个成熟的跨平台C框架&#xff0c;在这方面提供了卓越的支持&#xff0c;不仅简化了GUI应用程序的创建过程&#…

安全+低碳+高效:Acrel-3000助力企业打造未来型电能管理体系-安科瑞黄安南

一 背景 电能因为方便传输、易于转换、便于控制等特性&#xff0c;成为广大企事业单位生产、办公最主要的能量来源。双碳背景下&#xff0c;由于电能清洁、高效、零排放的特点&#xff0c;能源消费侧将逐步以电代煤、以电代油、以电代气&#xff0c;形成以电为中心的能源消费体…

⑦(ACG-网络配置)

网络配置是指对计算机网络的各种参数进行设置和调整&#xff0c;以实现网络正常运行和高效通信。网络配置包括多方面的内容&#xff0c;常见的配置包括&#xff1a; 1. IP地址设置&#xff1a;IP地址是设备在网络中的身份标识&#xff0c;设置IP地址是网络配置的基础&#xff…

Centos7本地部署阿里Qwen2-7B模型

1.从hagging face下载模型 2.把下载的模型文件&#xff0c;放到/usr/local/Qwen2-7B目录下 3.创建虚拟环境&#xff0c;安装依赖 1.环境安装 sudo yum update -y sudo yum install -y python3 python3-pip git 2.创建虚拟环境并激活 python3 -m venv qwen2_env source qwen2_…

群晖监控套件通过ONVIF协议添加海康摄像头

1. 首先登录录像机 通道管理 找到每个摄像头的IP地址 2. 登录某个摄像头 配置 3. 添加用户名&#xff08;注意不能是admin&#xff09; 设置账户密码 用户类型选管理员 4. 群晖里面添加摄像头&#xff0c;自动搜索&#xff0c;添加刚刚那个IP的摄像头 5. 验证…

【C++】 —— 笔试刷题day_8

一、求最小公倍数 题目解析 题目很简单&#xff0c;给定两个数a和b求它们的最小公倍数。 算法思路 对于求两个数的最小公倍数问题&#xff0c;想必已经非常熟悉了&#xff1b; 在之前学校上课时&#xff0c;记得老师提起过&#xff0c;最小公倍数 两个数的乘积 除以最大公约数…

MTK Android12-Android13 设置系统默认语言

Android 系统&#xff0c;默认语言 文章目录 需求&#xff1a;场景 参考资料实现方案实现思路编译脚本熟悉-平台熟悉mssi_64_cnkernel-4.19 解决方案修改文件-实现方案 源码分析PRODUCT_LOCALES 引用PRODUCT_DEFAULT_LOCALE 定义get-default-product-locale 方法定义PRODUCT_DE…

05-SpringBoot3入门-整合SpringMVC(配置静态资源、拦截器)

1、说明 在01-SpringBoot3入门-第一个项目-CSDN博客中&#xff0c;其实就已经整合了SpringMVC。下面讲解怎么配置静态资源和拦截器 2、配置静态资源 命名&#xff1a;static&#xff08;文件夹&#xff09; 位置&#xff1a;src/main/resources 编写一个html文件 访问 http:/…

Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测

聚划算&#xff01;Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测 目录 聚划算&#xff01;Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 聚划算&#xff01;Tran…

树莓派浏览器配置全解析:从轻量系统到网页应用平台

树莓派&#xff08;Raspberry Pi&#xff09;不仅是嵌入式开发的入门利器&#xff0c;也因其低成本和强大的社区支持而成为物联网、数字标牌、教育培训等领域的热门平台。在很多应用中&#xff0c;运行一个浏览器并作为 Web 前端展示、操作或交互的能力显得尤为关键。 但在资源…

初识Qt(一)

本文部分ppt、视频截图原链接&#xff1a;萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频 1. Qt是什么&#xff1f; Qt是一个跨平台的C应用程序开发框架&#xff0c;它既为图形用户界面(GUI)程序开发提供了强大支持&#xff0c;也能用于开发非GUI的控制台程序、服务端…

六十天前端强化训练之第三十二天之Babel 转译配置大师级深度讲解

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、核心概念与知识体系详解 1. Babel 工作原理全景解析 二、完整配置方案&#xff08;带详细注释&#xff09; 1. 进阶版 .babelrc 配置 2. Webpack 集成配置&#xff08…

【CVE-2025-30208】| Vite-漏洞分析与复现

漏洞简介 CVE-2025-30208 是 Vite 开发服务器中的一个任意文件读取漏洞。该漏洞允许攻击者通过特定的 URL 参数绕过访问控制&#xff0c;从而读取服务器上的敏感文件&#xff08;如 /etc/passwd 或 C:\windows\win.ini&#xff09;。 该漏洞主要影响以下版本的 Vite&#xff…