HttpUtil

Flutter 网络请求封装之Dio(Cookie管理、添加拦截器、下载文件、异常处理、取消请求等) 文章目录Dio相关封装开始get请求post请求post Form表单异常处理Cookie管理添加拦截器下载文件取消请求Https证书校验调用示例完整代码 之所以封装,千言万语汇成一句话:方便使用。 Dio相关 dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等… 添加依赖 ... 阅读详情
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package com.sprucetec.datacenter.util;

import java.io.IOException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import javax.net.ssl.SSLContext;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
import org.apache.http.conn.socket.PlainConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
import org.apache.http.conn.ssl.SSLContexts;
import org.apache.http.conn.ssl.TrustStrategy;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

public class HttpUtil {
    protected String userAgent = "";
    private int timeout = '鱀';
    private int maxConnections = 15;
    private boolean supportCompressed = true;
    RequestConfig requestConfig;
    private CloseableHttpClient httpClient;

    public String getUserAgent() {
        return this.userAgent;
    }

    public void setUserAgent(String userAgent) {
        this.userAgent = userAgent;
    }

    public int getTimeout() {
        return this.timeout;
    }

    public void setTimeout(int timeout) {
        this.timeout = timeout;
    }

    public int getMaxConnections() {
        return this.maxConnections;
    }

    public void setMaxConnections(int maxConnections) {
        this.maxConnections = maxConnections;
    }

    public boolean isSupportCompressed() {
        return this.supportCompressed;
    }

    public void setSupportCompressed(boolean supportCompressed) {
        this.supportCompressed = supportCompressed;
    }

    public HttpUtil() {
    }

    public HttpUtil(int timeout, int maxConnections, boolean supportCompressed) {
        this.timeout = timeout;
        this.maxConnections = maxConnections;
        this.supportCompressed = supportCompressed;
    }

    public void start() {
        this.initHttpClient();
    }

    private void initHttpClient() {
        this.requestConfig = RequestConfig.custom().setContentCompressionEnabled(this.supportCompressed).setSocketTimeout(this.timeout).setConnectTimeout(this.timeout).build();
        RegistryBuilder registryBuilder = RegistryBuilder.create();
        PlainConnectionSocketFactory plainSF = new PlainConnectionSocketFactory();
        registryBuilder.register("http", plainSF);

        try {
            KeyStore registry = KeyStore.getInstance(KeyStore.getDefaultType());
            SSLContext cm = SSLContexts.custom().useTLS().loadTrustMaterial(registry, new HttpUtil.AnyTrustStrategy()).build();
            SSLConnectionSocketFactory sslSF = new SSLConnectionSocketFactory(cm, SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
            registryBuilder.register("https", sslSF);
        } catch (KeyStoreException var6) {
            throw new RuntimeException(var6);
        } catch (KeyManagementException var7) {
            throw new RuntimeException(var7);
        } catch (NoSuchAlgorithmException var8) {
            throw new RuntimeException(var8);
        }

        Registry registry1 = registryBuilder.build();
        PoolingHttpClientConnectionManager cm1 = new PoolingHttpClientConnectionManager(registry1);
        cm1.setDefaultMaxPerRoute(this.maxConnections);
        cm1.setMaxTotal(this.maxConnections * 3);
        this.httpClient = HttpClients.custom().setConnectionManager(cm1).build();
    }

    public String get(String url) throws Exception {
        return this.get(url, new Header[0]);
    }

    private static List<BasicNameValuePair> builderBasicNameValuePairList(Map<String, String> requestParams) {
        if(requestParams != null && requestParams.size() > 0) {
            ArrayList list = new ArrayList(requestParams.size());
            Iterator var2 = requestParams.entrySet().iterator();

            while(var2.hasNext()) {
                Entry entry = (Entry)var2.next();
                list.add(new BasicNameValuePair((String)entry.getKey(), (String)entry.getValue()));
            }

            return list;
        } else {
            return null;
        }
    }

    public String post(String url, String data, ContentType contentType) throws Exception {
        return this.post(url, data, contentType, new Header[0]);
    }

    public String post(String url, Map requestParam) throws Exception {
        HttpPost post = new HttpPost(url);
        UrlEncodedFormEntity encodedFormEntity = new UrlEncodedFormEntity(builderBasicNameValuePairList(requestParam), "utf-8");
        post.setEntity(encodedFormEntity);
        post.setConfig(this.requestConfig);
        post.setHeader("User-Agent", this.userAgent);
        CloseableHttpResponse response = null;

        String var8;
        try {
            response = this.httpClient.execute(post);
            StatusLine status = response.getStatusLine();
            String httpresult = this.responseToString(response);
            var8 = httpresult;
        } finally {
            if(response != null) {
                response.close();
            }

        }

        return var8;
    }

    public String get(String url, Header[] headers) throws Exception {
        HttpGet get = new HttpGet(url);
        get.setConfig(this.requestConfig);
        get.setHeaders(headers);
        get.setHeader("User-Agent", this.userAgent);
        CloseableHttpResponse response = null;

        String var6;
        try {
            response = this.httpClient.execute(get);
            String httpresult = this.responseToString(response);
            var6 = httpresult;
        } finally {
            if(response != null) {
                response.close();
            }

        }

        return var6;
    }

    private String responseToString(HttpResponse response) throws Exception {
        StatusLine status = response.getStatusLine();
        HttpEntity entity = response.getEntity();
        if(status.getStatusCode() != 200) {
            throw new RuntimeException(status.getStatusCode() + "");
        } else {
            String httpresult = null;
            if(entity != null) {
                httpresult = EntityUtils.toString(entity);
            }

            return httpresult;
        }
    }

    public String post(String url, String data, ContentType contentType, Header[] headers) throws Exception {
        HttpPost post = new HttpPost(url);
        post.setHeaders(headers);
        StringEntity se = new StringEntity(data, contentType);
        post.setEntity(se);
        post.setConfig(this.requestConfig);
        post.setHeader("User-Agent", this.userAgent);
        CloseableHttpResponse response = null;

        String var10;
        try {
            response = this.httpClient.execute(post);
            StatusLine status = response.getStatusLine();
            String httpresult = this.responseToString(response);
            var10 = httpresult;
        } finally {
            if(response != null) {
                response.close();
            }

        }

        return var10;
    }

    public void close() throws IOException {
        if(this.httpClient != null) {
            this.httpClient.close();
        }

    }

    class AnyTrustStrategy implements TrustStrategy {
        AnyTrustStrategy() {
        }

        public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
            return true;
        }
    }
}
pgsql行列转换 ‌是PostgreSQL中的一个函数,用于将一个字符串根据正则表达式进行分割,并将结果返回为一个表格,每个分割后的部分作为一行‌‌。string_agg() 函数是 PostgreSQL 中的一个聚合函数,用于将一个列中的值连接成一个字符串。 阅读详情

相关推荐

从病毒分析到安全研究:手把手教你用OD破解加壳程序的反调试机制

本文深入探讨了如何识别并绕过加壳程序的反调试机制,特别是针对使用IsDebuggerPresent等API检测的防护手段。通过实战案例和工具链配置,详细介绍了逆向工程中的关键技巧,包括内存补丁、硬件断点定位OEP等,帮助安全研究人员有效突破软件保护技术。

tgb345678的博客 825

HttpUtil工具类

//========================HttpUtil======================= public class HttpUtil { private static final String CHARSET = "UTF-8"; private static final String HTTP_POST = "POST"; private s...

qq_31515997的博客 378

JavaFX - 动画

JavaFX 动画

思你日度难眠 1603

HttpUtil 请求工具类

package com.linkage.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import jav...

qq_39152588的博客 710

从QEvent到系统响应:EC如何成为硬件事件的隐形信使

本文深入解析嵌入式控制器(EC)如何作为硬件事件的隐形信使,通过QEvent机制将按键、合盖等物理事件转换为SCI信号,并经由ACPI架构触发操作系统响应。EC与BIOS紧密协作,实现了从底层硬件到系统层面的高效事件传递,是嵌入式开发和系统优化的关键技术。

yellow的专栏 651

从零上手SKILL脚本:在Virtuoso中实现版图绘制自动化

本文详细介绍了如何使用SKILL脚本在Virtuoso中实现版图绘制自动化,从基础操作到高级技巧全面覆盖。通过抓取操作日志、转换交互式函数为程序式函数,以及核心函数深度解析,帮助读者快速掌握SKILL脚本编程,大幅提升版图设计效率。文章还提供了实际工程应用案例和调试优化技巧,适合从零开始的初学者。

weixin_28742653的博客 764

Java请求Http接口-hutool的HttpUtil(超详细-附带工具类)

HttpUtil是应对简单场景下Http请求的工具类封装,此工具封装了HttpRequest对象常用操作,可以保证在一个方法之内完成Http请求。此模块基于JDK的HttpUrlConnection封装完成,完整支持https、代理和文件上传。

苍煜 5万+

HyperMesh 2025新功能尝鲜:用Volume Tetramesh一键生成工业级四面体网格

HyperMesh 2025推出的Volume Tetramesh功能,通过“体到体”的全新范式,实现了工业级四面体网格的一键生成。该功能利用Proximity与Curvature参数智能识别并加密几何特征,将工程师从繁琐的几何清理和表面网格划分中解放出来,在保证网格质量的同时,显著提升了前处理效率,尤其适用于发动机缸体等复杂模型的仿真分析。

weixin_29229055的博客 477

HttpUtils 类的 接口回调方式的简单实现

//这是封装的HttpUtils类 public class HttpUtils {     /**      *  静态内部类单例模式      */     private HttpUtils(){}     private static class SingleTon {         private static HttpUtils httpUtils = new HttpUtils()...

qq_41261834的博客 738

基于LSTM的股票价格预测系统,Django框架,Web的股票预测系统,训练+数据集+源码(无需安装环境版)

股票价格预测是投资领域的一个重点关注课题。由于股票价格受到诸多非线性因素的影响,得到精确的预测结果较为困难。使用 PyCharm 作为代码开发工具,通过下载好的股票金融数据,进行数据预处理,构建 LSTM 网络模型,训练模型并训练出最优模型,输出股票未来收盘价波动的走势,最后在训练好的模型上,设计股票模型应用系统,运行效率较高,对股票预测具有一定的积极意义。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 956

Uni-App 使用极光推送完整指南

Uni-App集成极光推送的完整指南:从注册极光账号到代码实现。包含前期准备(获取AppKey、注册厂商账号)、Uni-App配置(插件导入、初始化代码)、高级功能(角标设置、Java后台接口)及常见问题排查。详细说明了推送监听、registrationID获取、消息接收处理等核心功能实现步骤,并提供两种推送接口示例(按平台推送和统一推送)。适合需要在Uni-App项目中实现推送功能的开发者参考。

cyj0919的博客 430

GO:httputil.DumpRequest、httputil.DumpResponse性能影响

golang httputil.DumpRequest、httputil.DumpResponse 性能影响

test1280 2770

使用epiDisplay包中的logistic

其中的logistic.display函数可以用于获取逻辑回归模型的汇总统计信息,包括自变量的优势比和置信区间,以及回归系数的Wald检验的p值。最后,我们使用print函数打印出汇总统计信息。使用epiDisplay包中的logistic.display函数获取逻辑回归模型的汇总统计信息(包括自变量的初始和调整后的优势比及置信区间,回归系数的Wald检验的p值)- R语言。通过使用logistic.display函数,我们可以方便地获取逻辑回归模型的重要统计信息,并对自变量的影响进行解释和推断。

CyberJolt的博客 609

HttpUtil工具

1.发送get请求 String url = "http://www.sogou.com"; Map<String, Object> paramMap = new HashMap<>(); paramMap.put("query", 10086); // 无参GET请求 String result = Ht...

weixin_44734680的博客 1418

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

一个拿来即用的httputil工具类

工作中难免会用httpclien进行数据的跨系统传输,这几天老在用,调别的系统的接口,今天就给大家分享出来我用的工具类吧,主要是后期我用的时候可以找到。 package com.cnlive.shenhe.utils; import com.alibaba.fastjson.JSONObject; import org.apache.http.Header; import org.apac...

TomHaveNoCat的博客 1万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Hutool工具类之HttpUtil使用Https

关于Hutool工具类之HttpUtil如何使用可以参考官方文档Hutool之HttpUtil 其实使用Http和Https使用的方式是一样的。 建议大家可以看看HttpUtil的源码,感觉设计的挺不错的。 导入Maven依赖 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>4.1.0<

weixin_43703769的博客 8716

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java httputil_Java-HttpUtil

import java.io.*;importjava.net.HttpURLConnection;importjava.net.URL;importjava.net.URLDecoder;importjava.net.URLEncoder;importjava.util.HashMap;importjava.util.Map;public classHttpUtil {public static...

weixin_28694295的博客 574

HttpUtil 工具类

今天来搞搞Java中的HttpUtil 请求类。 Ps , 只是为了以后复制方便~~~~~~~~~~~~~~ import com.alibaba.fastjson.JSON; import com.vma.assist.define.Assist; import com.vma.assist.wraps.LogWrap; import com.vma.business.api.domain.bo.ResponseEntity; import org.apache.commons.lang3.String

阿男 1497

Hutool Http客户端工具类-HttpUtil使用

HttpUtil是应对简单场景下Http请求的工具类封装,这个工具类可以保证在一个方法之内完成Http请求。 1HttpUtil.get() 用于请求普通页面,然后返回页面内容的字符串,同时提供一些重载方法用于指定请求参数。 // 最简单的HTTP请求,可以自动通过header等信息判断编码,不区分HTTP和HTTPS String result1= HttpUtil.get("https://www.baidu.com"); // 当无法识别页面编码的时候,可以自定义请求页面的编码 Strin.

旭东怪的博客 3万+

对接百度api的工具类:Base64Util,FileUtil,HttpUtil

对接百度api的工具类:Base64Util,FileUtil,HttpUtil package com.baidu.ai.aip.utils; /** * Base64 工具类 */ public class Base64Util { private static final char last2byte = (char) Integer.parseInt("00000011", ...

wy_0830的博客 5776

HTTPUtil Get请求响应数据中文乱码

直接上解决办法 客户端的代码 String result = new String(HTTPUtil.HttpGet("http://localhost:8090/service/external/getDeptListByOrgId/" + orgId + "/" + model.getUuid()), "UTF-8"); 之前没有加编码格式 加之后完美解决。 附上 HTTPGet的代...

xuyudian的博客 3711

Hutool 的HttpUtil工具类和json解析

Hutool是一个小而全的Java工具类库 官方地址:https://www.hutool.cn/docs/#/ 本文主要简单介绍Hutool的Http客户端工具类-HttpUtil和Hutool-json的使用 1、添加依赖 <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.

time_art的博客 8250

工具类--HttpUtil

工具类–HttpUtil import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; im...

fly__ing的博客 138

使用HttpUtil上传文件

通过HttpUtil上传文件

大家好,我是云村的王子 4494

Java HttpUtil

Java HttpUtil 添加一下依赖 &lt;dependency&gt; &lt;groupId&gt;org.apache.httpcomponents&lt;/groupId&gt; &lt;artifactId&gt;httpclient&lt;/artifactId&gt; &lt;version&gt;4.5.4&lt;/version&gt; &lt;/d

weixin_42847439的博客 1775
上一篇: HttpClientUtil
下一篇: JsonMapperUtil
杜引强
博客等级 码龄13年 806粉丝 68原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值