package com.yxb.common.base.util;
import com.yxb.common.base.entity.WorthResponse;
import net.sf.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.xml.transform.Result;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Map;
public class HttpUtils {
private static Logger logger = LoggerFactory.getLogger(HttpUtils.class);
public static JSONObject doGetJSON(String httpUrl){
String result = doGet(httpUrl);
return JSONObject.fromObject(result);
}
public static JSONObject doPostJSON(String httpUrl,String param){
return doPostJSON(httpUrl, null, param);
}
public static JSONObject doPostJSON(String httpUrl,Map<String,String> headerMap, String param){
String result = doPost(httpUrl, headerMap, param);
return JSONObject.fromObject(result);
}
public static String doGet(String httpurl) {
HttpURLConnection connection = null;
InputStream is = null;
BufferedReader br = null;
String result = null;// 返回结果字符串
try {
// 创建远程url连接对象
URL url = new URL(httpurl);
// 通过远程url连接对象打开一个连接,强转成httpURLConnection类
connection = (HttpURLConnection) url.openConnection();
// 设置连接方式:get
connection.setRequestMethod("GET");
// 设置连接主机服务器的超时时间:15000毫秒
connection.setConnectTimeout(15000);
// 设置读取远程返回的数据时间:60000毫秒
connection.setReadTimeout(60000);
// 发送请求
connection.connect();
// 通过connection连接,获取输入流
if (connection.getResponseCode() == 200) {
is = connection.getInputStream();
// 封装输入流is,并指定字符集
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
// 存放数据
StringBuffer sbf = new StringBuffer();
String temp = null;
while ((temp = br.readLine()) != null) {
sbf.append(temp);
sbf.append("\r\n");
}
result = sbf.toString();
}
} catch (MalformedURLException e) {
logger.error("异常信息:{}",e);
} catch (Exception e) {
logger.error("错误信息:{}", e);
} finally {
// 关闭资源
if (null != br) {
try {
br.close();
} catch (IOException e) {
logger.error("错误信息:{}", e);
}
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
logger.error("错误信息:{}", e);
}
}
connection.disconnect();// 关闭远程连接
}
return result;
}
public static String doPost(String httpUrl, String param){
return doPost(httpUrl, null, param);
}
public static String doPost(String httpUrl, Map<String,String> headerMap, String param) {
HttpURLConnection connection = null;
InputStream is = null;
OutputStream os = null;
BufferedReader br = null;
String result = null;
try {
URL url = new URL(httpUrl);
// 通过远程url连接对象打开连接
connection = (HttpURLConnection) url.openConnection();
// 设置连接请求方式
connection.setRequestMethod("POST");
// 设置连接主机服务器超时时间:15000毫秒
connection.setConnectTimeout(15000);
// 设置读取主机服务器返回数据超时时间:60000毫秒
connection.setReadTimeout(60000);
// 默认值为:false,当向远程服务器传送数据/写数据时,需要设置为true
connection.setDoOutput(true);
// 默认值为:true,当前向远程服务读取数据时,设置为true,该参数可有可无
connection.setDoInput(true);
// 设置传入参数的格式:请求参数应该是 name1=value1&name2=value2 的形式。
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
if(headerMap != null && headerMap.size() > 0){
for(String key:headerMap.keySet()){
connection.setRequestProperty(key, headerMap.get(key));
}
}
// 通过连接对象获取一个输出流
os = connection.getOutputStream();
// 通过输出流对象将参数写出去/传输出去,它是通过字节数组写出的
os.write(param.getBytes());
// 通过连接对象获取一个输入流,向远程读取
if (connection.getResponseCode() == 200) {
is = connection.getInputStream();
// 对输入流对象进行包装:charset根据工作项目组的要求来设置
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
StringBuffer sbf = new StringBuffer();
String temp = null;
// 循环遍历一行一行读取数据
while ((temp = br.readLine()) != null) {
sbf.append(temp);
sbf.append("\r\n");
}
result = sbf.toString();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (null != br) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != os) {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 断开与远程地址url的连接
connection.disconnect();
}
return result;
}
public static WorthResponse doPost(String httpUrl, String param,String... contentType) {
HttpURLConnection connection = null;
InputStream is = null;
OutputStream os = null;
BufferedReader br = null;
String result = null;
WorthResponse worthResponse = null;
StringBuilder sb = new StringBuilder();
try {
URL url = new URL(httpUrl);
// 通过远程url连接对象打开连接
connection = (HttpURLConnection) url.openConnection();
// 设置连接请求方式
connection.setRequestMethod("POST");
// 设置连接主机服务器超时时间:15000毫秒
connection.setConnectTimeout(30000);
// 设置读取主机服务器返回数据超时时间:60000毫秒
connection.setReadTimeout(60000);
// 默认值为:false,当向远程服务器传送数据/写数据时,需要设置为true
connection.setDoOutput(true);
// 默认值为:true,当前向远程服务读取数据时,设置为true,该参数可有可无
connection.setDoInput(true);
// 设置传入参数的格式:请求参数应该是 name1=value1&name2=value2 的形式。
// connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("Content-Type", contentType.length< 1 ? "application/x-www-form-urlencoded" : contentType[0]);
// 设置鉴权信息:Authorization: Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0
connection.setRequestProperty("Authorization", "Bearer da3efcbf-0845-4fe3-8aba-ee040be542c0");
// 通过连接对象获取一个输出流
os = connection.getOutputStream();
// 通过输出流对象将参数写出去/传输出去,它是通过字节数组写出的
os.write(param.getBytes());
//根据responseCode来获取输入流,此处错误响应码的响应体内容也要获取(看服务端的返回结果形式决定)
if (HttpURLConnection.HTTP_OK == connection.getResponseCode()) {
is = connection.getInputStream();
} else {
is = connection.getErrorStream();
}
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line);
sb.append("\r\n");
}
br.close();
worthResponse = new WorthResponse();
worthResponse.setCode(connection.getResponseCode());
worthResponse.setContentType(connection.getContentType());
worthResponse.setResult(sb.toString());
} catch (MalformedURLException e) {
e.printStackTrace();
logger.error("错误信息:{}", e);
} catch (IOException e) {
e.printStackTrace();
logger.error("错误信息:{}", e);
}finally {
// 关闭资源
if (null != br) {
try {
br.close();
} catch (IOException e) {
logger.error("错误信息:{}", e);
}
}
if (null != os) {
try {
os.close();
} catch (IOException e) {
logger.error("错误信息:{}", e);
}
}
if (null != is) {
try {
is.close();
} catch (IOException e) {
logger.error("错误信息:{}", e);
}
}
// 断开与远程地址url的连接
connection.disconnect();
}
return worthResponse;
}
}
相关推荐
Hypermesh二次开发实战:Tcl命令分类与常用函数详解(附避坑指南)
本文深入解析Hypermesh二次开发中Tcl命令的三大核心类别:界面命令、查询命令与修改命令。重点剖析了*createmark集合管理与hm_getvalue信息查询等关键函数的实战用法,并提供了避免Mark覆盖、生命周期管理等常见陷阱的实用指南,旨在帮助CAE工程师构建高效可靠的自动化前处理流程。
Http发送请求工具类
Http发送请求工具类 package com.risen.wechat.unit; import com.risen.hp.fastjson.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintW...
ldpc编解码器设计与仿真
计算校验节点到变量节点的消息 m_{c \to v}=2 \cdot atanh(\prod_{v’ \in N©\setminus v}tanh(\frac{m_{v’ \to c}}{2}))。计算变量节点到校验节点的消息 m_{v \to c}=L_{v,0}+\sum_{c’ \in M(v)\setminus c}m_{c’ \to v}。◦ 对于每个变量节点 v,计算最终 LLR 值 L_{v,f}=L_{v,0}+\sum_{c \in M(v)}m_{c \to v}。
HttpUtils发送工具类。
1.引入jar包 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency> 版本的话 会根据boot自动导入的似乎 ss...
RK3588与银河麒麟V10 SP1 2403深度适配:国产化硬件与操作系统的完美融合
本文深入探讨了RK3588处理器与银河麒麟V10 SP1 2403操作系统的深度适配,展示了国产化硬件与操作系统的完美融合。通过性能验证和实际应用测试,证明了这套组合在多媒体处理、AI推理和日常办公中的卓越表现,实现了完全自主可控的计算平台。
C# .NET6 TesseractOCR 图片文字识别
在你的项目中的tessdata-main文件夹找到这几个文件,并右键->属性设置为【如果较新则复制】有几个需要用到的模型,需要生成的时候复制到输出目录中,在项目中设置即可。TesseractOCR兼容 x86 与 x64。附 :ImageUtils.RegionCropping()源码。Visual Studio 2022 社区版。下载完成后解压在你的项目中,如图所示。从官方项目中获取模型数据, 网址为。
java网络请求工具类(HttpUtils/HttpClientUtils)
Java网络请求工具类(HttpUtils/HttpClientUtils)是用来简化与服务器进行网络请求的过程。它是基于HttpClient库开发的。该工具类提供了一系列方法,可以方便地发送HTTP请求(GET、POST等)。它可以帮助我们完成以下操作:发送GET请求:通过传入URL和参数,发送GET请求并获取服务器返回的数据。发送POST请求:通过传入URL、参数和请求体,发送POST请求并获取服务器返回的数据。设置请求头:可以设置请求头,如User-Agent、Cookie等。
【ESD专题】从原理上分析TVS管PCB Layout的经验法则
我们常常会听到的一些经验法则,按这些经验法则去做,一般也不会有什么问题,但是到底是为什么呢? 没有从原理上分析和证明的时候,往往在Layout之后还要担心实际测试结果怎么样。或是在实际测试出问题后,根本无法进行分析,难道说修改一个版本就好了?那要从哪里修改呢?也无从下手呀。...
HttpUtils工具类(一)常见的HttpUtils工具类及如何自定义java的http连接池
一、几种常见的Http调用方式一、几种常见的Http调用方式OKhttp是一个功能强大的 HTTP 客户端库,支持同步和异步请求。它适用于处理更加复杂的场景,如认证、连接池、多线程、上传文件等。
40、基于指令的GPU编程:OpenACC与OpenMP的深入解析
本文深入解析了两种基于指令的GPU编程模型——OpenACC和OpenMP。从编程复杂度、数据处理方式和性能表现等多个方面对两者进行了对比分析,并结合实际应用场景提供了选择建议。通过详细的代码示例和性能测试结果,帮助开发者更好地理解和应用这两种编程模型,以充分发挥GPU的并行计算能力。
【SigmaStudio】自定义算法组件之源码规范(二)
工作中自定义算法组件一般是dll文件,生成dll文件需要XML文件和DLB文件,记录一下DLB文件代码的编码规范,定义SigmaStudio SHARC算法开发的编码规则,涵盖函数原型、内存管理、接口结构体等关键要求,确保算法模块与SigmaStudio环境兼容
java httputils工具类_Java工具类HttpUtil
importorg.apache.http.Header;importorg.apache.http.HttpEntity;importorg.apache.http.NameValuePair;importorg.apache.http.client.entity.UrlEncodedFormEntity;importorg.apache.http.client.methods.Closeabl...
MIPI D-PHY的校准测试
MIPI的校准测试困扰了很久,今天终于得以解决!
SpringBoot 整合 httpclient http请求发送工具类HttpUtils
SpringBoot 整合 httpclient http请求发送工具类HttpUtils 导入依赖 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.12</version> </dependency> <dependenc
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
大中型超市收银系统(可直接运行)
光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开
超好用的后端发送http请求HttpUtils工具类(基于原生http连接,不需要另外导包)
在项目中,为了实现一些特定的功能,我们常常需要发送http异步请求 ,为此需要特意封装一个实用的HttpUtils工具类 HttpUtils工具类内容如下: package com.zyw.seckill.utils; import java.io.*; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; /** * @Author Mr.zhou * @.
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
java调用http的工具类_HttpUtils 发送http请求工具类(实例讲解)
废话不多说,直接上代码import java.io.ioexception;import java.io.unsupportedencodingexception;import java.net.urisyntaxexception;import java.util.arraylist;import java.util.map;import org.apache.commons.logging.l...
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
HttpUtils——助力高效网络通信
HttpUtils——助力高效网络通信使用HttpClient发送请求、接收响应很简单,一般需要如下几步即可:登录后复制 1、创建HttpClient对象。 2、创建请求方法的实例,并指定请求URL。如果需要发送GET请求, 创建HttpGet对象;如果需要发送POST请求,创建HttpPost对象。 3、如果需要发送请...
Httputils请求工具类
import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.NameValue...
HttpUtil工具类发送post请求
import java.io.IOException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpP...
HttpUtils工具类
HttpUtils工具类 HttpUtils工具类 package net.hs.itn.teng.common.util; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import j...
java后端发送请求并返回请求结果(纯干货分享)
在很多时候,例如调用别人的api的时候,不是通过前端调用,而是需要后端将接口调用的api和返回信息封装好后才返回给前端,这时需要通过后端去直接发送http请求,所以可以创建一个工具类来将post,get,put,delete请求直接封装好,通过调用工具类里的静态方法从而直接发送http请求。今天介绍的HttpUtils是具备发送更加简单,返回更加清楚,调用更加便捷的工具整合类,可以解决大部分后端发送Http请求问题。...
HttpUtils 工具类
【代码】HttpUtils 工具类。
Java HttpUtils工具类
Java HttpUtils工具类
java 通过发送json,post请求,返回json数据
1.工具类 import java.io.*; import java.net.HttpURLConnection; import java.net.URL; public class HttpUtils { public static String sendPost(String param,String urls){ StringBuffer sb=new...
242



被折叠的 条评论
为什么被折叠?



