当前位置: 首页 > article >正文

OkHttpHttpClient

学习链接

okhttp github

okhttp官方使用文档

SpringBoot 整合okHttp okhttp3用法

Java中常用的HTTP客户端库:OkHttp和HttpClient(包含请求示例代码)

深入浅出 OkHttp 源码解析及应用实践


httpcomponents-client github

apache httpclient文档

apache httpclient文档详细使用


【Java基础】- HttpURLConnection详解

java使用httpclient 、HttpURLConnection 发送第三方请求 使用详解、总结。HttpClient 的使用

Java 中的 HTTP 客户端库OkHttp、Apache HttpClient和HttpUrlConnection

Apache HttpClient

HttpComponents概述

HttpCore是一组低级HTTP传输组件,可用于以最小的占用空间构建自定义客户端和服务器端HTTP服务。HttpCore支持两种输入/输出模型:基于经典Java输入/输出的阻塞输入/输出模型和基于JavaNIO的非阻塞、事件驱动输入/输出模型

特点

  • 基于标准,纯Java,HTTP版本1.0和1.1的实现
  • 在可扩展的OO框架中完全实现所有HTTP方法(GET、POST、PUT、DELETE、HEAD、OPTIONS和TRACE)。
  • 支持安全超文本传输协议(HTTP over SSL)加密。
  • 通过HTTP代理的透明连接。
  • 隧道安全超文本传输协议连接通过HTTP代理,通过CONNECT方法。
  • 基本,摘要,NTLMv1,NTLMv2,NTLM2会话,SNPNEGO,Kerberos协议鉴权方案。
  • 自定义鉴权方案的插件机制。
  • 可插拔安全插座工厂,更易于使用第三方解决方案
  • 支持在多线程应用程序中使用的连接管理。支持设置最大总连接数以及每个主机的最大连接数。检测并关闭过时的连接。
  • 自动Cookie处理读取Set-Cookie:从服务器的标头,并在适当的时候将它们发送回Cookie表头。
  • 自定义cookie策略的插件机制。
  • 请求输出流以避免通过直接流式传输到套接字到服务器来缓冲任何内容体。
  • 响应输入流通过直接从套接字流式传输到服务器来有效地读取响应正文。
  • 在HTTP/1.0中使用KeepAlive和在HTTP/1.1中使用持久连接
  • 直接访问服务器发送的响应代码和标头。
  • 设置连接超时的能力。
  • 支持HTTP/1.1响应缓存。
  • 源代码在Apache许可下免费提供。

httpcomponents-client

项目代码

apache httpcomponents-client - github,项目有4.5.x和5.4.x分支。稳定版建议使用4.5.14。

文档资料

0、HTTP编程入门
https://hc.apache.org/httpcomponents-client-4.5.x/primer.html
在这里插入图片描述

1、快速入门httpclient

https://hc.apache.org/httpcomponents-client-4.5.x/quickstart.html

在这里插入图片描述
2、使用教程

https://hc.apache.org/httpcomponents-client-4.5.x/current/tutorial/html/

在这里插入图片描述
3、代码示例

https://github.com/apache/httpcomponents-client/tree/4.5.x/httpclient/src/examples/org/apache/http/examples/client - 这里面包括丰富的示例,覆盖一些更复杂使用场景
在这里插入图片描述
4、日志说明
https://hc.apache.org/httpcomponents-client-4.5.x/logging.html

在这里插入图片描述

HttpClient利用Commons Logging包提供的日志接口。默认情况下Commons Logging支持以下日志记录框架:

  • Log4J 2

  • java.util.logging

  • SimpleLog(Commons Logging内部)

HttpClient执行三种不同类型的日志记录:每个类中使用的标准上下文日志记录、HTTP表头日志记录和全线日志记录。

  • 上下文日志记录包含有关HttpClient执行HTTP请求时的内部操作的信息。每个类都有自己的日志,根据类的完全限定名称命名。例如,类DefaultHttpClient有一个名为org.apache.http.impl.client.DefaultHttpClient的日志。由于所有类都遵循此约定,因此可以使用名为org.apache.http.impl.client的单个日志为所有类配置上下文日志
  • 连线日志用于记录执行HTTP请求时与服务器之间传输的所有数据。连线日志使用org.apache.http.wire日志类别。该日志应该只启用调试问题,因为它会产生极其大量的日志数据
  • 因为HTTP请求的内容对于调试来说通常不如HTTP标头重要,所以org.apache.http.headers日志记录类别仅用于捕获HTTP标头。

快速入门

相关文章:

OkHttpHttpClient

学习链接 okhttp github okhttp官方使用文档 SpringBoot 整合okHttp okhttp3用法 Java中常用的HTTP客户端库:OkHttp和HttpClient(包含请求示例代码) 深入浅出 OkHttp 源码解析及应用实践 httpcomponents-client github apache httpclie…...

android设备出厂前 按键测试 快速实现-屏蔽Home,Power等键

android整机测试,需要测试按键。 一般的键好按,好测试。如:音量加 ,音量- 。 但是,有些按键就不好测了。譬如:电源键(Power),Home键,Menu键,Bac…...

Spring Boot3使用Spring AI通过Ollama集成deepseek

文章目录 项目地址版本信息集成步骤 项目地址 DeepSeekSpringAI实战AI家庭医生应用 版本信息 版本Spring Boot3.4.4JDK21spring-ai1.0.0-M6ollama0.6.3LLMdeepseek:14b 集成步骤 引入依赖 <dependency><groupId>org.springframework.ai</groupId><a…...

c++柔性数组、友元、类模版

目录 1、柔性数组&#xff1a; 2、友元函数&#xff1a; 3、静态成员 注意事项 面试题&#xff1a;c/c static的作用? C语言&#xff1a; C: 为什么可以创建出 objx 4、对象与对象之间的关系 5、类模版 1、柔性数组&#xff1a; #define _CRT_SECURE_NO_WARNINGS #…...

win10 快速搭建 lnmp+swoole 环境 ,部署laravel6 与 swoole框架laravel-s项目1

参考文献 1.dnmp环境 https://github.com/yeszao/dnmp 2.laravel6.0文档 https://learnku.com/docs/laravel/6.x 3.laravels 文档 https://github.com/hhxsv5/laravel-s/blob/master/README-CN.md 安装前准备 1.确认已经安装且配置好docker&#xff0c;能在cmd 中运行 docker …...

【Kafka基础】基础概念解析与消息队列对比

1 Kafka 是什么&#xff1f; Kafka是一个 分布式流处理平台&#xff0c;主要用于 高吞吐量、低延迟的实时数据流处理&#xff0c;最初由LinkedIn开发。 核心特点&#xff1a; 高吞吐量&#xff1a;支持每秒百万级消息处理持久化存储&#xff1a;消息可持久化到磁盘&#xff0c;…...

vue将组件中template转为js

在 Vue 中&#xff0c;组件的 template 需要被转换为 JavaScript 渲染函数&#xff08;Render Function&#xff09;才能在浏览器中运行。Vue 2 和 Vue 3 的转换机制有所不同&#xff0c;主要体现在编译时机、编译工具和输出结果上。 1. Vue 2 的 Template 转换 转换方式 Vue…...

Centos 8 安装教程(新手版)

1.需要在阿里开源镜像站下载对应的镜像&#xff0c;如下&#xff1a;https://mirrors.aliyun.com/centos/8.5.2111/isos/x86_64/ 2.打开VM虚拟机&#xff0c;创建新的虚拟机&#xff0c;选择自定义 如图所示点击进行&#xff1a; 选择下载好的镜像 选择“Linux”&#xff0c;版…...

Vue2函数式组件实战:手写可调用的动态组件,适用于toast轻提示、tip提示、dialog弹窗等

Vue2函数式组件实战&#xff1a;手写可调用的动态组件 一、需求场景分析 在开发中常遇到需要动态调用的组件场景&#xff1a; 全局弹窗提示即时消息通知动态表单验证需要脱离当前DOM树的悬浮组件 传统组件调用方式的痛点&#xff1a;必须预先写入模板&#xff0c;可能还要用…...

ESLint语法报错

ESLint语法报错 运行报错 You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.解决方案 关闭eslint的语法检测&#xff0c;在eslintrc.js文件中…...

大象如何学会太空漫步?美的:科技领先、To B和全球化

中国企业正处在转型的十字路口。一边是全新的技术、全新的市场机遇&#xff1b;一边是转型要面临的沉重负累和巨大投入&#xff0c;无数中国制造、中国品牌仍在寻路&#xff0c;而有的人已经走至半途。 近日&#xff0c;美的集团交出了一份十分亮眼的2024年财报。数据显示&…...

Leetcode 3500. Minimum Cost to Divide Array Into Subarrays

Leetcode 3500. Minimum Cost to Divide Array Into Subarrays 1. 解题思路2. 代码实现 题目链接&#xff1a;3500. Minimum Cost to Divide Array Into Subarrays 1. 解题思路 这一题非常惭愧&#xff0c;没有自己搞定&#xff0c;基本是抄的大佬们的代码&#xff0c;甚至抄…...

已经使用中的clickhouse更改数据目录

在更换的目录操作&#xff0c;这里更换的目录为home目录&#xff0c;原先安装的目录在/soft/clickhouse/ ,在该目录下有data目录和log目录 更改前目录 更改后目录 1、停止clickhouse服务 sudo systemctl stop clickhouse-server 2、在home目录创建clickhouse目录,在clickho…...

PHP的相关配置和优化

进入etc下面 去掉注释 pid run/php-fpm.pid #指定pid文件存放位置 生成一下子配置文件 这些都是生成的fastcgi的配置文件 进入php中&#xff0c;然后复制模版&#xff0c;生成配置文件 然后编辑文件更改时区 改完之后可以生成启动脚本 这时候刷新之后&#xff0c;再启动会报…...

体重秤PCBA电路方案组成结构

体重秤PCBA电路主要由以下几个部分组成&#xff1a; 主控芯片电路 芯片选择&#xff1a;通常采用低功耗、高性能的单片机作为主控芯片&#xff0c;如前面提到的SIC8833等。这类芯片具备丰富的外设接口&#xff0c;可方便地与其他模块进行通信和控制。 电路连接&#xff1a;主控…...

android 加载本地.svg资源的几种引入方式

在 Android 中&#xff0c;可以在 XML 布局文件中引入本地 .svg 资源&#xff0c;但需要先转换为 Android 可识别的格式。主要有以下几种方式&#xff1a; 方式 1&#xff1a;使用 Vector Asset&#xff08;官方推荐&#xff09; Android 不支持直接加载 .svg&#xff0c;但可…...

fio磁盘测试工具使用笔记

本文介绍磁盘性能测试工具fio在某国产操作系统&#xff08;内核4.19&#xff0c;gcc为7.3.0&#xff09;上的编译和使用。 背景 某项目使用物理机安装某数据库&#xff0c;相关人员提到磁盘性能方面的要求&#xff0c;用fio测试32k的随机读写&#xff0c;性能要达到1万 IOPS。…...

JavaScrip——BOM编程

一、BOM核心对象与导航控制 1. location对象&#xff1a;页面跳转与刷新 // 跳转到指定URL location.href "https://example.com"; // 刷新当前页面 location.reload(); // 示例&#xff1a;点击按钮跳转 document.querySelector("#btn").onclick () &…...

机器学习 分类算法

【实验名称】 实验&#xff1a;分类算法 【实验目的】 1.了解分类算法理论基础 2.平台实现算法 3. 编程实现分类算法 【实验原理】 分类(Categorization or Classification)就是按照某种标准给对象贴标签(label),再根据标签来区分归类。 【实验环境】 OS&#xff1a;Ubuntu16.0…...

【leetcode100】每日温度

1、题目描述 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输…...

<贪心算法>

前言&#xff1a;在主包还没有接触算法的时候&#xff0c;就常听人提起“贪心”&#xff0c;当时是layman&#xff0c;根本不知道说的是什么&#xff0c;以为很难呢&#xff0c;但去了解一下&#xff0c;发现也不过如此嘛&#xff08;bushi)&#xff0c;还以为是什么高级东西呢…...

基于银河麒麟桌面服务器操作系统的 DeepSeek本地化部署方法【详细自用版】

一、3种方式使用DeepSeek 1.本地部署 服务器操作系统环境进行,具体流程如下(桌面环境步骤相同): 本例所使用银河麒麟高级服务器操作系统版本信息: (1)安装ollama 方式一:按照ollama官网的下载指南,执行如下命令: curl -fsSL https://ollama.com/install.sh | sh方…...

「2025最新版React+Ant Design+Router+TailwindCss全栈攻略:从零到实战,打造高颜值企业级应用

一站式掌握最新技术栈&#xff01;手把手教你配置路由、集成UI组件库、高效开发秘籍大公开 ReactAntrouteraxiosmocktailwind css等组合安装使用教程 官网&#xff1a;React Native 中文网 使用React来编写原生应用的框架 一&#xff0c;安装 npx create-react-app my-app …...

Ubuntu 24.04.2 LTS 系统安装python,创建虚拟环境

在 Ubuntu 24.04.2 LTS 系统中&#xff0c;系统本身自带了 Python 3&#xff0c;不过你还是可以按照下面的步骤来安装和配置 Python 环境。 1. 检查系统自带的 Python 版本 在终端中输入以下命令查看系统自带的 Python 版本&#xff1a; python3 --version如果显示了 Python…...

redis7.0搭建redis-cluster集群部署实战

环境 基于3台centos服务 host节点1端口节点2端口master70007001slave170007001slave270007001 安装redis&#xff0c;以及环境准备 安装可以参考https://blog.csdn.net/tao1992/article/details/132614567 安装路径设置了/usr/local/redis 分别在3台服务器上执行 #配置文…...

CMake学习--如何在CMake中编译静态库、动态库并在主程序中调用

目录 一、背景知识二、使用方法&#xff08;一&#xff09;编译静态库&#xff08;二&#xff09;编译动态库&#xff08;三&#xff09;在主程序中调用库 三、总结 一、背景知识 在C/C开发中&#xff0c;库&#xff08;Library&#xff09;是预先编译好的代码集合&#xff0c…...

安美数字酒店宽带运营系统存在SQL注入漏洞

免责声明&#xff1a;本号提供的网络安全信息仅供参考&#xff0c;不构成专业建议。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权&#xff0c;请及时与我联系&#xff0c;我将尽快处理并删除相关内容。 漏洞描述 安美数字酒店宽带运营系统的lang…...

中级:Git面试题全攻略

一、引言 在现代软件开发中&#xff0c;Git作为分布式版本控制系统&#xff0c;被广泛应用于代码管理与团队协作。面试官通过Git相关问题&#xff0c;考察候选人对版本控制的基本概念、操作流程以及解决实际问题的能力。本文将深入解读Git的基本操作、分支管理、冲突解决等常见…...

ubuntu18 server版花屏问题

新搞了一台dellT150的塔式服务器&#xff0c;装的ubuntu18 server版。 开机后遇到花屏&#xff0c;或者卡在开机界面的问题&#xff0c;和售后技术沟通这个情况是ubuntu自带的显卡驱动包兼容问题。需要做如下设置&#xff1a; 解决&#xff1a; 1.开机&#xff0c;连续按下e…...

基于神经网络的肾脏疾病预测模型

构建一个基于神经网络的肾脏疾病预测模型 1. 数据预处理 ​加载数据&#xff1a;读取 kidney_disease.csv 文件&#xff0c;加载患者医疗数据。​删除冗余特征&#xff1a;移除与预测目标无关的列&#xff08;如 al, su 等&#xff09;&#xff0c;保留关键特征&#xff08;如…...