Java工具类——发送GET/POST请求工具

WPS文档编辑时空行问题解决方案 本文详细介绍了如何解决WPS文档编辑时空行的问题,从问题描述与分析、解决方案详解到操作示例与注意事项等多个方面进行了全面阐述。通过本文的介绍和指导,用户可以快速定位问题根源并采取有效措施进行解决,从而提升文档编辑效率和美观性。未来,随着WPS软件的不断升级和优化,相信会有更多便捷高效的功能被添加到软件中。同时,用户也需要不断学习和探索新的操作技巧和方法,以适应不断变化的办公需求。希望本文能够为广大WPS用户提供有益的参考和帮助,共同推动办公效率的提升和发展。 阅读详情


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.Map;
import java.util.Vector;

/**
 * Java HTTP请求对象 发送GET/POST请求工具类
 */
public class HttpRequester {

	private String defaultContentEncoding;

	public HttpRequester() {
		this.defaultContentEncoding = Charset.defaultCharset().name();
	}

	/**
	 * 发送GET请求
	 * 
	 * @param urlString  URL地址
	 * @return 响应对象
	 * @throws IOException
	 */
	public HttpRespons sendGet(String urlString) throws IOException {
		return this.send(urlString, "GET", null, null);
	}

	/**
	 * 发送GET请求
	 * 
	 * @param urlString  URL地址
	 * @param params 参数集合
	 * @return 响应对象
	 * @throws IOException
	 */
	public HttpRespons sendGet(String urlString, Map<String, String> params) throws IOException {
		return this.send(urlString, "GET", params, null);
	}

	/**
	 * 发送GET请求
	 * 
	 * @param urlString URL地址
	 * @param params 参数集合
	 * @param propertys 请求属性
	 * @return 响应对象
	 * @throws IOException
	 */
	public HttpRespons sendGet(String urlString, Map<String, String> params, Map<String, String> propertys)
			throws IOException {
		return this.send(urlString, "GET", params, propertys);
	}

	/**
	 * 发送POST请求
	 * 
	 * @param urlString URL地址
	 * @return 响应对象
	 * @throws IOException
	 */
	public HttpRespons sendPost(String urlString) throws IOException {
		return this.send(urlString, "POST", null, null);
	}

	/**
	 * 发送POST请求
	 * 
	 * @param urlString URL地址
	 * @param params 参数集合
	 * @return 响应对象
	 * @throws IOException
	 */
	public HttpRespons sendPost(String urlString, Map<String, String> params) throws IOException {
		return this.send(urlString, "POST", params, null);
	}

	/**
	 * 发送POST请求
	 * 
	 * @param urlString URL地址
	 * @param params 参数集合
	 * @param propertys 请求属性
	 * @return 响应对象
	 * @throws IOException
	 */
	public HttpRespons sendPost(String urlString, Map<String, String> params, Map<String, String> propertys)
			throws IOException {
		return this.send(urlString, "POST", params, propertys);
	}

	/**
	 * 发送HTTP请求
	 * 
	 * @param urlString 地址
	 * @param method  get/post
	 * @param parameters  添加由键值对指定的请求参数
	 * @param propertys  添加由键值对指定的一般请求属性
	 * @return 响映对象
	 * @throws IOException
	 */
	private HttpRespons send(String urlString, String method, Map<String, String> parameters,
			Map<String, String> propertys) throws IOException {
		HttpURLConnection urlConnection = null;

		if (method.equalsIgnoreCase("GET") && parameters != null) {
			StringBuffer param = new StringBuffer();
			int i = 0;
			for (String key : parameters.keySet()) {
				if (i == 0)
					param.append("?");
				else
					param.append("&");
				param.append(key).append("=").append(parameters.get(key));
				i++;
			}
			urlString += param;
		}

		URL url = new URL(urlString);
		urlConnection = (HttpURLConnection) url.openConnection();
		urlConnection.setRequestMethod(method);
		urlConnection.setDoOutput(true);
		urlConnection.setDoInput(true);
		urlConnection.setUseCaches(false);

		if (propertys != null)
			for (String key : propertys.keySet()) {
				urlConnection.addRequestProperty(key, propertys.get(key));
			}

		if (method.equalsIgnoreCase("POST") && parameters != null) {
			StringBuffer param = new StringBuffer();
			for (String key : parameters.keySet()) {
				param.append("&");
				param.append(key).append("=").append(parameters.get(key));
			}
			urlConnection.getOutputStream().write(param.toString().getBytes());
			urlConnection.getOutputStream().flush();
			urlConnection.getOutputStream().close();
		}
		return this.makeContent(urlString, urlConnection);
	}

	/**
	 * 得到响应对象
	 * 
	 * @param urlConnection
	 * @return 响应对象
	 * @throws IOException
	 */
	private HttpRespons makeContent(String urlString, HttpURLConnection urlConnection) throws IOException {
		HttpRespons httpResponser = new HttpRespons();
		try {
			InputStream in = urlConnection.getInputStream();
			BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
			httpResponser.contentCollection = new Vector<String>();
			StringBuffer temp = new StringBuffer();
			String line = bufferedReader.readLine();
			while (line != null) {
				httpResponser.contentCollection.add(line);
				temp.append(line).append("\r\n");
				line = bufferedReader.readLine();
			}
			bufferedReader.close();
			String ecod = urlConnection.getContentEncoding();
			if (ecod == null)
				ecod = this.defaultContentEncoding;
			httpResponser.urlString = urlString;
			httpResponser.defaultPort = urlConnection.getURL().getDefaultPort();
			httpResponser.file = urlConnection.getURL().getFile();
			httpResponser.host = urlConnection.getURL().getHost();
			httpResponser.path = urlConnection.getURL().getPath();
			httpResponser.port = urlConnection.getURL().getPort();
			httpResponser.protocol = urlConnection.getURL().getProtocol();
			httpResponser.query = urlConnection.getURL().getQuery();
			httpResponser.ref = urlConnection.getURL().getRef();
			httpResponser.userInfo = urlConnection.getURL().getUserInfo();
			httpResponser.content = new String(temp.toString().getBytes(), ecod);
			httpResponser.contentEncoding = ecod;
			httpResponser.code = urlConnection.getResponseCode();
			httpResponser.message = urlConnection.getResponseMessage();
			httpResponser.contentType = urlConnection.getContentType();
			httpResponser.method = urlConnection.getRequestMethod();
			httpResponser.connectTimeout = urlConnection.getConnectTimeout();
			httpResponser.readTimeout = urlConnection.getReadTimeout();
			return httpResponser;
		} catch (IOException e) {
			throw e;
		} finally {
			if (urlConnection != null)
				urlConnection.disconnect();
		}
	}

	/**
	 * 默认的响应字符集
	 */
	public String getDefaultContentEncoding() {
		return this.defaultContentEncoding;
	}

	/**
	 * 设置默认的响应字符集
	 */
	public void setDefaultContentEncoding(String defaultContentEncoding) {
		this.defaultContentEncoding = defaultContentEncoding;
	}
}

转自【http://www.open-open.com/lib/view/open1374585832808.html】

二十一、CANdelaStudio深入-SPRMIB的配置 本专栏将由浅入深的展开诊断实际开发与测试的数据库编辑,包含大量实际开发过程中的步骤、使用技巧与少量对Autosar标准的解读。希望能对大家有所帮助,与大家共同成长,早日成为一名车载诊断、通信全栈工程师。 本文介绍CANdelaStudio的肯定响应抑制位配置,欢迎各位朋友订阅、评论,可以提出宝贵意见,以持续输出更好的作品,同时会根据评论、私信不定期更新文章内容,以及专栏目录。订阅该专栏的朋友可私信小编免费答疑解惑(^U^)ノ~YO CANdelaStudio-从入门到深入目录 文章目录CANdelaStu 阅读详情

相关推荐

ESP32 IDF开发 应用篇⑲ 空中升级OTA

在实际产品开发过程中,在线升级可以远程解决产品软件开发引入的问题,更好地满足用户需求。OTA(空中)更新是使用 Wi-Fi 连接而不是串行端口将固件加载到 ESP 模块的过程。(1)、ESP32 的 OTA 升级有三种方式:·Arduino IDE:主要用于软件开发阶段,实现不接线固件烧写·Web Browser:通过 Web 浏览器手动提供应用程序更新模块·HTTP Server:自动使用http服务器 - 针对产品应用在三种升级情况下,必须通过串行端口完成第一个固件上传。

lu330274924的博客 3324

java Http工具类

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; impor...

chuobu7181的博客 763

Nginx反向代理HTTPS服务报错排查:The plain HTTP request was sent to HTTPS port

在Web服务架构中,反向代理是连接客户端与后端应用的关键组件,它通过转发请求实现负载均衡和安全隔离。其工作原理涉及监听端口、解析协议头部,并根据配置将请求路由至上游服务器。这一机制的技术价值在于提升系统可扩展性、简化部署,并增强安全性。在HTTPS场景下,代理服务器需正确处理SSL/TLS终止与传递,若配置不当,常引发协议不匹配问题。例如,当Nginx将解密后的HTTP请求转发至期待HTTPS的后端,或客户端直接向SSL端口发送明文请求时,便会出现经典报错“The plain HTTP request wa

weixin_33391446的博客 390

java发送GET/POST请求工具类

java发送GET/POST请求工具类 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL;...

系统 运维 232

运放电路实战:5分钟搞定加法器与减法器的电路设计与调试(附避坑指南)

本文从实战角度出发,详细讲解了运算放大器加法器与减法器的电路设计与调试方法。针对加法器,重点分析了利用“虚地”特性简化设计和选型要点;对于减法器,则深入剖析了决定精度的核心——电阻匹配问题,并提供了使用电阻网络等提升共模抑制比的实用策略。文章还分享了从仿真到实物焊接的完整流程与常见避坑技巧,帮助电子爱好者快速掌握这两种基础运放电路。

weixin_28323057的博客 465

基于PID算法的循迹小车

这一期为创客们带来基于PID算法的循迹小车制作 1.标准赛道示意图: (该赛道包含了:左直角、右直角、十字路口等路况) 2.灰度传感器安装示意图: (可根据实际情况调节各传感器之间的间距) 3.硬件原理图: 4.控制逻辑: 5.程序如下: #define leftA_PIN 7 #define leftB_PIN 6 #define left_Pwm_PIN 5 #define STBY...

qq_44343584的博客 4万+

springboot get请求传递json对象(含值为对象的属性),映射到后台Controller参数实体的 Map 类型字段(含相关关键源码)

假设后台 controller 的参数是一个 User 类型的变量,User 的定义如下: public class User { String name; Map<string, Object> params; } 前台的 json 要使用以下写法: { name: '22', 'params[age]': '21', 'params[weight]': 60 } 如果后台报错说请求链接包含非法字符,则用encodeURIComponent.

FunnyWhiteCat的博客 6488

OpenMV模块视觉测距(避障)+颜色识别+TFT-LCD显示(实现原理与代码分析)

上图所示代码实际运行的帧率比较低,主要原因有以下两个:1.硬件问题,博主使用的版本比较低,可以尝试使用高版本OpenMV2.图像滤波问题。之前加入图像滤波是想提高色块识别的准确性,但是相应的运算速度也会下降。

ediykk的博客 1万+

java httpget 传参数_java模拟http,get,post,传参类型是map的传输

package Utils;import java.io.IOException;import java.net.URI;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.http.NameValuePair;import org.apache.http.client.en...

weixin_33483304的博客 684

从零开始:如何利用Device Monitoring Studio构建高效数据监控系统

本文详细介绍了如何利用HHD Device Monitoring Studio从零开始构建高效数据监控系统。涵盖基础架构设计、核心功能解析、实战部署指南及高级数据分析技术,帮助用户实现非侵入式监控,提升设备调试和网络协议分析效率。特别适合物联网和工业自动化领域的开发者与运维人员。

weixin_29201859的博客 327

【C/C++ 性能优化】了解cpu 从而进行C++ 高效编程

在当代软件开发领域,CPU(Central Processing Unit,中央处理器)的性能优化一直是一个核心议题。尤其是对于C++开发者而言,无论是在Linux平台还是其他操作系统中,都需要深刻理解CPU的工作原理以及如何充分利用CPU资源,以确保软件运行的高效性和稳定性。正如计算机科学家Donald Knuth在《计算机程序设计的艺术》中所说:“过早的优化是万恶之源”,然而,这并不意味着我们应该忽视性能优化——相反,我们需要在正确的时间以正确的方式进行优化。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 4746

GET请求Map作为请求入参,参数接收不到?

GET请求Map作为请求入参,参数接收不到?

m0_54117624的博客 3562

2023华为OD面试手撕真题【最长公共前缀】

2023华为OD面试手撕真题【最长公共前缀】

MISAYAONE的博客 5235

java post 工具类_【java发送GET/POST请求工具类】

java发送GET/POST请求工具类import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import jav...

weixin_39684495的博客 234

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Camera2Demo

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

java发送post请求 工具类_【java发送GET/POST请求工具类】

java发送GET/POST请求工具类import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import jav...

weixin_34837388的博客 548

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java post类_Java工具类——发送GET/POST请求工具

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.nio.charset.Chars...

weixin_39548606的博客 116

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【java发送GET/POST请求工具类】

java发送GET/POST请求工具类   import java.io.BufferedReader;   import java.io.IOException;   import java.io.InputStream;   import java.io.InputStreamReader;   import java.net.HttpURLConnection;   i...

dfy86404的博客 131

java调用GET\POST发送GET/POST请求的工具类

写在前面 很多时候我们需要去调用或者发送请求访问java的rest接口,这时候一般我们项目组会添加相对应的工具类进行封装,不用每次都去重新写一次,类似于java的jdbc,我们如果使用mabits时候,框架已经为我们封装好相关的代码,这也是java面向对象的编程思想的体现,这里就没太多的文字概述啦~~ 直接上代码,有需要的小伙伴可以直接复制到自己的工具类中使用哦 改工具类名称:RestUtil.j...

zhangbinch的博客 818

Java后台发送post/get请求,HttpClient 工具类

package com.wangyj.utils; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java...

常雪恨's Blog 786

java 发送post/get请求工具类

需要导入jar包 ,用来json解析 //jar,选择一个就行,主要是用以post发送数据时转json,本工具用的alibaba json。 <!--org json --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-map...

implements的博客 1436

Java:后台发送请求,请求方式(post/get)工具类:

package com.ajun.utils;   import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.u...

Sucker的小笔记 626

[Java]HTTPS/HTTP工具类_发送请求(GET,POST,PUT,DELETE以及发送文件方法)

HTTPS/HTTP工具类

88_Rising 1678

Java工具类HttpComponents之HttpClient,使用HttpClient发送POST/GET请求

添加依赖 <!-- httpclient 网络请求--> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.2</version> </dependency> <!-- fastjson --> &lt

Crazy_young_man的博客 489

(JAVA)POST、GET发送带参/不带参请求。获取ip地址常用的httpUtil工具类

** 关于httputil工具类 ** 通过post方式请求链接,并返回响应结果 public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url);

languageStudent的博客 1560

java post_java发送post get请求

packagecom.kinggrid.util;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.URL;importjava.net.URLConnection;public classHt...

weixin_34778803的博客 100
上一篇: Java工具类——字符串压缩StringCompress
下一篇: Apache Mina实例
系统信息
系统信息 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄23年 2404粉丝 565原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值