HttpClient模拟get,post请求并发送请求参数(json等)


import java.io.IOException;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

/**
 * 
 */
public class HttpClientUtil {

	public static void main(String arg[]) throws Exception {
		String url = "test.com";
		JSONObject params = new JSONObject();
		params.put("SRC_STM_CODE", "wsf");
		params.put("TENANT_ID", "123");
		params.put("NM", "张三");
		params.put("BRTH_DT", "1983-01-20");
		params.put("GND_CODE", "1");
		JSONArray params2 = new JSONArray();
		JSONObject param3 = new JSONObject();
		param3.put("DOC_TP_CODE", "10100");
		param3.put("DOC_NBR", "100200198301202210");
		param3.put("DOC_CUST_NM", "test");
		params2.add(param3);
		params.put("DOCS", params2);
		String ret = doPost(url, params).toString();
		System.out.println(ret);
	}

	/**
	 httpClient的get请求方式2
	 * @return
	 * @throws Exception
	 */
	public static String doGet(String url, String charset)
			throws Exception {
		/*
		 * 使用 GetMethod 来访问一个 URL 对应的网页,实现步骤: 1:生成一个 HttpClinet 对象并设置相应的参数。
		 * 2:生成一个 GetMethod 对象并设置响应的参数。 3:用 HttpClinet 生成的对象来执行 GetMethod 生成的Get
		 * 方法。 4:处理响应状态码。 5:若响应正常,处理 HTTP 响应内容。 6:释放连接。
		 */
		/* 1 生成 HttpClinet 对象并设置参数 */
		HttpClient httpClient = new HttpClient();
		// 设置 Http 连接超时为5秒
		httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
		/* 2 生成 GetMethod 对象并设置参数 */
		GetMethod getMethod = new GetMethod(url);
		// 设置 get 请求超时为 5 秒
		getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 5000);
		// 设置请求重试处理,用的是默认的重试处理:请求三次
		getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,	new DefaultHttpMethodRetryHandler());
		String response = "";
		/* 3 执行 HTTP GET 请求 */
		try {
			int statusCode = httpClient.executeMethod(getMethod);
			/* 4 判断访问的状态码 */
			if (statusCode != HttpStatus.SC_OK) {
				System.err.println("请求出错: "+ getMethod.getStatusLine());
			}
			/* 5 处理 HTTP 响应内容 */
			// HTTP响应头部信息,这里简单打印
			Header[] headers = getMethod.getResponseHeaders();
			for (Header h : headers)
				System.out.println(h.getName() + "------------ " + h.getValue());
			// 读取 HTTP 响应内容,这里简单打印网页内容
			byte[] responseBody = getMethod.getResponseBody();// 读取为字节数组
			response = new String(responseBody, charset);
			System.out.println("----------response:" + response);
			// 读取为 InputStream,在网页内容数据量大时候推荐使用
			// InputStream response = getMethod.getResponseBodyAsStream();
		} catch (HttpException e) {
			// 发生致命的异常,可能是协议不对或者返回的内容有问题
			System.out.println("请检查输入的URL!");
			e.printStackTrace();
		} catch (IOException e) {
			// 发生网络异常
			System.out.println("发生网络异常!");
			e.printStackTrace();
		} finally {
			/* 6 .释放连接 */
			getMethod.releaseConnection();
		}
		return response;
	}

	/**
	 * post请求
	 * @param url
	 * @param json
	 * @return
	 */
	
	public static JSONObject doPost(String url,JSONObject json){
		DefaultHttpClient client = new DefaultHttpClient();
		HttpPost post = new HttpPost(url);
		JSONObject response = null;
		try {
			StringEntity s = new StringEntity(json.toString());
			s.setContentEncoding("UTF-8");
			s.setContentType("application/json");//发送json数据需要设置contentType
			post.setEntity(s);
			HttpResponse res = client.execute(post);
			if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
				HttpEntity entity = res.getEntity();
				String result = EntityUtils.toString(res.getEntity());// 返回json格式:
				response = JSONObject.fromObject(result);
			}
		} catch (Exception e) {
			throw new RuntimeException(e);
		}
		return response;
	}


}

 

 

从BSCAN到BAP:深度解析Tessent MBIST逻辑的协同工作机制与设计考量 本文深入解析了Tessent MBIST逻辑中BSCAN Interface、Logic Group Def、Controller与BAP模块的协同工作机制。文章以一条测试指令的完整路径为例,详细阐述了数据流与控制流如何跨模块、跨时钟域协同工作,并重点探讨了MBIST BAP在协议转换与流量管理中的核心桥梁作用,为芯片内建自测试的集成与调试提供了关键的设计考量和实战技巧。 阅读详情

相关推荐

接上篇,记录一下【Unity 3D对博途PLCSIM的通讯】文章有点长~仔细看,很基础

本文参考链接:西门子PLC丨PROFINET通讯仿真(虚拟通讯)做了一些更详细的优化,本文使用的类库并非原作者使用的类库。 首先,昨天项目已经创建好了,这边也加了一个InputField和一个Button,可以实现简单的读取,ok开始。 放入准备好的通讯类库; 新建一个博途的项目,本次测试使用博途V15,测试环境为虚拟机,Unity运行在本地计算机,建立博途项目流程如下: 新建项目,右键项目-属性-保护-对勾,如图: 不得不说的是,仿真中加密的FB块是无法下载的哦~ 添加CPU...

NS_Speak(IVAV) 8061

HttpClient封装get/post请求含json入参

调用封装的方法带JSON入参。

qq_56967382的博客 1646

多重共线性问题 -- 岭回归方法

概述 本篇博客分为三大部分,线性模型、多重共线性问题和岭回归。其中,线性模型中介绍了线性模型定义和普通最小二乘法对线性模型的拟合。第二部分,借由1987-2007年的人口、消费和科技对碳排放的影响的数据来说明多重共线性问题(包括如何从定性和定量两个方面判断多重共线性问题)和多重共线性问题对普通最小二乘估计的影响。第三部分,使用岭回归对第二部分中的多重共线性问题进行拟合,并基于R2R^2R2决定系数...

楚江客的记录 1万+

java通过httpClient发送json格式数据请求(GET方式)

java通过 httpclient使用get请求发送json参数

xzj80927的博客 6128

聊一聊固态电池和钠离子电池新技术

总之,固态电池是一种“安全又高效的未来电池”,它的好处非常明显,但目前还处于研发阶段,离普及还有一段距离。未来,这两种技术可能会与锂离子电池并存,分别满足不同的市场需求。我尝试用最通俗易懂的语言将复杂的技术讲给大家听。钠离子电池和锂离子电池的工作原理很相似,但它用的是。固态电池和钠离子电池是两种正在研发和推广的。,它们有潜力解决现有锂离子电池的部分缺点。,而不是锂(Li)。

weixin_33324696的博客 3333

在 Ansys Mechanical 中使用“螺栓工具”插件自动生成螺栓

在有限元分析 (FEA) 中,高效创建螺栓连接对于确保机械装配的结构完整性和性能至关重要。螺栓是连接组件不可或缺的一部分,它们在负载下的精确建模会影响整个系统。快速高效的螺栓建模使工程师能够快速优化设计,满足紧迫的期限,并通过为其他关键设计任务释放资源来提高整体生产力。此外,螺栓建模的精度可以最大限度地降低模型创建过程中出错的风险,这对于获得可靠和准确的分析结果至关重要。因此,在 FEA 中快速且无错误地创建螺栓连接对于高效、可靠和成功的工程结果至关重要。

jkh920184196的博客 3102

Httpclient跨域访问json格式的参数接口

import com.alibaba.fastjson.JSONObject; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.protocol.HTTP; import org.apache.http.util.EntityUtils; import org.apache.http.client.con

qq_37634156的博客 394

OpenWrt kmod内核不兼容?手把手教你用脚本强制安装驱动模块(附国内镜像源)

本文详细解决了OpenWrt kmod内核不兼容问题,提供智能脚本强制安装驱动模块的方法,并附有国内镜像源加速配置。通过自动化脚本修改内核MD5校验值,确保kmod包正常安装,同时推荐多个国内镜像源以提升下载速度。

weixin_42549451的博客 542

HttpClient传输Json及Param数据

【代码】HttpClient传输Json及Param数据。

qq_43680114的博客 1192

Nginx反向代理MinIO私有桶签名失效?一招解决Host头校验问题

本文详细解析了Nginx反向代理MinIO私有桶时出现的签名失效问题,重点解决了Host头校验导致的"SignatureDoesNotMatch"错误。通过精准配置proxy_set_header保持Host头一致性,并提供了二级目录代理和调试指南,帮助开发者高效解决这一常见技术难题。

weixin_29201313的博客 321

1分钟了解LangChain是什么?

是一个基于大型语言模型(LLM)开发应用程序的框架, 它旨在简化语言模型应用的开发流程,特别是在构建对话系统和其他基于语言的AI解决方案时.目标是将复杂的语言模型技术转化为可通过简单API调用实现的功能,从而使开发者能够更加专注于创造性的解决方案设计。高效地解决了开发大语言模型应用的痛点问题。Langchain 最主要的特色是可以将 LLM 应用研发过程中的交互 Prompt、LLM 模型调用、语言模型与环境互动的自适应等方式融为一体。

gorgor在码农 2630

HttpClient使用HttpGet进行json数据传输

JSON字符串需要用urlencoding编码对绝大多数HTTP client而言,URL长度都有上限,所以不能传太大的JSON,一般而言几K应该没问题,但是再长点就不好说了 import java.io.InputStreamReader;   import java.util.ArrayList;   import java.util.List;      imp

autowanglei的专栏 9792

块存储:AIO的直接写流程注释

提交io流程中aio_write之前函数的注释,可参考“块存储:AIO的直接读流程注释”。

yiyeguzhou100的专栏 1334

HttpClient模拟GET、POST请求并发送请求参数(JSON等)

HttpClient模拟GET、POST请求并发送请求参数(JSON等) 去发现同类优质开源项目:https://gitcode.com/ 此仓库包含了关于使用HttpClient来模拟GET和POST请求,并支持发送JSON等格式参数的相关资源文件。通过这些资源,您可以学习如何在您的程序中实现网络请求,以及如何灵活地处理HTTP协议中的各种请求和响应。 以下为资源文件的主要内容: HttpCl...

gitblog_06788的博客 424

假人有限元模型

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

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

java发送http get请求参数_HttpClient模拟get,post请求并发送请求参数(json等)

import java.io.IOException;import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;import org.apache.commons.httpclient.Header;import org.apache.commons.httpclient.HttpClient;import org.apa...

weixin_39940344的博客 538

老版QQ原生表情gif动态

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

【Http访问工具类】HttpClient模拟get,post请求并发送请求参数(json等) --(2)

import java.io.IOException; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler; import org.apache.commons.httpclient.Hea...

Sucker的小笔记 563

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

http的post/get请求

1.HttpURLConnection调用http的get请求public static void main(String[] args) throws Exception { //请求的webservice的url URL url = new URL("http://"); //创建http链接 HttpURLConnection ...

weixin_38322253的博客 427

HttpClient模拟GETPOST请求并发送请求参数JSON等:项目推荐文章

HttpClient模拟GETPOST请求并发送请求参数JSON等:项目推荐文章 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在当今的网络编程领域,HttpClient是一个非常强大的工具,它能够帮助开发者轻松地发送HTTP请求并处理响应。今天,我们为大家推荐一个开源项目——HttpClient模拟GET、POST请求并发送请求参数(JSON等),它为开发者提供了一...

gitblog_06757的博客 1003

HttpClient 4.4+ 方案

Http模拟请求发送: 1.需要的jar包 compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.5' compile group: 'org.apache.httpcomponents', name: 'httpcore', version: '4.4.9' 2.代码 ...

乌鸦东南飞 743

HttpClientUtil 工具类

/** * * CloseableHttpClient类 ,client实现类 * * HttpClients类 ,client工具类,用于创建客户端对象。 * * CloseableHttpResponse接口,请求的响应对象 * * URIBuilder类 :url构建类,用于设置get请求的路径变量 * * HttpGet类 :get请求的发送对象 * * EntityUtils类 实体处理类 * @param ur..

解决bug的路上 744

使用HttpClient模拟HTTP发送POST或GET请求

在Java开发中,服务与服务之间进行调用,需要使用HttpClient发送HTTP请求,以下是使用Java实现模拟HTTP发送POST或GET请求的代码 1、pom.xml中导入HTTP依赖 <!-- HTTP请求依赖 --> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId>

qq_41936224的博客 5144
上一篇: POI读取Excel通用代码---支持2003,2007
下一篇: POI读取excel文件通用代码(增强版--支持返回javaBean集合)---2003,2007
sfSam
博客等级 码龄16年 13粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值