Httpclient4.5.2 POST Json 数据到另外一个网站, 解析

本文介绍了如何使用HttpClient 4.5.2进行POST请求,传递JSON数据到目标网站。首先,理解JSON的重要性,然后通过构建JSON格式的字符串并将其作为Entity插入到HttpPost中,执行POST请求。提供了相关资源链接,包括查看加密响应数据的方法和其他关于HttpClient解析JSON的博客文章。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要使用HttpClient 4.5.2来做POST传参数到某个网站,得到相应的功能。

最近花了些时间在API上,通过JSON来调用几个功能。但是怎么传参数很头疼。

JSON需要理解得透彻一些,我是通过以下这个免费的视频,加深了对JSON的理解:

http://study.163.com/course/courseMain.htm?courseId=1295002

看了一些网上的介绍,最后是这样的做的:先形成一个字符串json(只是名字叫json而已),这个字符串就是标准的JSON字符串。确保这个字符串是正确的,然后把它代入httpPost的Entity,再执行POST操作(CloseableHttpResponse response2 = httpclient.execute(httpPost);)

这个方式最简单最直接,最容易验证。代码片段如下:

String json ="{\"subject\""+":"+"\""+T_subject+"\""+","+"\"description\""+":"+"\""+T_description+"\""+","+"\"status\""+":"+"\"new\""+","+"\"requester\""+":"+"{\"id\""+":"+requesterID+"}"+","+"\"serviceDesk\""+":"+"{\"id\""+":"+serviceDeskID+"}"+","+"\"engineer\""+":"+"{\"id\""+":"+engineerID+"}"+"}";
	            
	    		System.out.println("json  tring ================="+json);
	            
	            StringEntity requestEntity = new StringEntity(json, "utf-8");
	            
	            httpPost.setEntity(requestEntity);
	            
	            
	            
	            HttpEntity entity_POST = httpPost.getEntity();
	            String entityString = EntityUtils.toString(entity_POST);
	    		System.out.println("POSTentityString="+entityString);
//	    		System.out.println("POSTentityStringby_nvps="+nvps.toString());
	    		
//	    		returnValue = httpclient.execute(httpPost, responseHandler);

	            CloseableHttpResponse response2 = httpclient.execute(httpPost);

	            try {
//	                System.out.println(response2.getStatusLine());
	                HttpEntity entity2 = response2.getEntity();
	                

//		    		System.out.println("VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVresponese2entityString="+EntityUtils.toString(entity2));
		    		
    		
		            ContentType contentType2 = ContentType.getOrDefault(entity2);
		            Charset charset2 = contentType2.getCharset();
		            System.out.println("----------------------------------------------get_respone2_ContentType="+contentType2);
		            System.out.println("----------------------------------------------get_respone2_entityCharset="+charset2);

		            Reader reader2 = new InputStreamReader(entity2.getContent(), charset2);
		            System.out.println("==============================================get_respone2_entityReader="+reader2);
		            System.out.println("==============================================get_respone2_entityReader="+reader2.toString());
			            

		    		    		
		    		
	                // do something useful with the response body
	                // and ensure it is fully consumed
	                EntityUtils.consume(entity2);


与此博客关联的另外一个博客,是写如何查看网站返回的加密数据的,如下:


http://blog.youkuaiyun.com/qxd100/article/details/52675362


同时,其他的一些Httpclient 解析 Json 数据的一些文章的收集如下,供参考:


这个比较实用:

http://blog.youkuaiyun.com/zhanghaonana/article/details/51792962


这个比较简洁:


http://blog.youkuaiyun.com/u014614038/article/details/49800709


这个也比较简洁:


http://zhcheng.iteye.com/blog/1292350


这个是讨论,包含了去官网的说明的链接:

http://bbs.youkuaiyun.com/topics/391887692


这个比较长的,比较详细:

http://itindex.net/detail/52566-httpclient






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值