JAVA Httpclient3.x与Httpclient4.x代码对比(post方法)

Httpclient4.x post方法代码:

 1 import java.io.BufferedReader;
 2 import java.io.IOException;
 3 import java.io.InputStream;
 4 import java.io.InputStreamReader;
 5 import java.io.UnsupportedEncodingException;
 6 import java.util.ArrayList;
 7 import java.util.List;
 8 import org.apache.http.Consts;
 9 import org.apache.http.HttpEntity;
10 import org.apache.http.HttpResponse;
11 import org.apache.http.ParseException;
12 import org.apache.http.client.ClientProtocolException;
13 import org.apache.http.client.HttpClient;
14 import org.apache.http.client.entity.UrlEncodedFormEntity;
15 import org.apache.http.client.methods.HttpPost;
16 import org.apache.http.impl.client.DefaultHttpClient;
17 import org.apache.http.message.BasicNameValuePair;
18 import org.apache.http.util.EntityUtils;
19
20 public class test01 {
21      public static void main(String argv[]){
22             HttpClient client=new DefaultHttpClient();
23             List<BasicNameValuePair> formparams = new ArrayList<BasicNameValuePair>();
24             formparams.add(new BasicNameValuePair("money", "xx"));
25             formparams.add(new BasicNameValuePair("tele_num", "xxxxxxxxxxx"));
26             UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, Consts.UTF_8);
27             HttpPost httppost = new HttpPost("http://xxxx.xxxxxx.xx/xxx/xxxxxx");
28             httppost.setEntity(entity);
29
30             HttpResponse response = null;
31             try {
32                 response = client.execute(httppost);
33             } catch (ClientProtocolException e) {
34                 // TODO Auto-generated catch block
35                 e.printStackTrace();
36             } catch (IOException e) {
37                 // TODO Auto-generated catch block
38                 e.printStackTrace();
39             }
40             //打印服务器返回的状态
41
42             System.out.println(response.getStatusLine());
43             HttpEntity Entity = response.getEntity();
44             //打印结果页面
45
46             try {
47                 System.out.println("Response is :"+EntityUtils.toString(Entity));
48             } catch (ParseException e1) {
49                 // TODO Auto-generated catch block
50                 e1.printStackTrace();
51             } catch (IOException e1) {
52                 // TODO Auto-generated catch block
53                 e1.printStackTrace();
54             }
55             if(Entity!=null){
56                 System.out.println("The Response length is :"+Entity.getContentLength());
57             }
58       }
59 }

Httpclient3.x post方法代码:

 1 import java.io.IOException;
 2 import java.io.UnsupportedEncodingException;
 3 import org.apache.commons.httpclient.HttpClient;
 4 import org.apache.commons.httpclient.HttpException;
 5 import org.apache.commons.httpclient.NameValuePair;
 6 import org.apache.commons.httpclient.methods.PostMethod;
 7
 8
 9 public class test02 {
10       public static void main(String argv[]){
11             HttpClient client = new HttpClient();
12             client.getHostConfiguration().setHost("xxxx.xxxxxx.xx", 80, "http");
13             PostMethod post = new PostMethod("http://xxxx.xxxxxx.xx/xxx/xxxxxx");
14             NameValuePair money = new NameValuePair("money","xx");
15             NameValuePair tele_num = new NameValuePair("tele_num", "xxxxxxxxxxx");
16             post.setRequestBody(new NameValuePair[] { money, tele_num});
17
18             try {
19                 client.executeMethod(post);
20             } catch (HttpException e) {
21                 // TODO Auto-generated catch block
22                 e.printStackTrace();
23             } catch (IOException e) {
24                 // TODO Auto-generated catch block
25                 e.printStackTrace();
26             }
27             //打印服务器返回的状态
28             System.out.println("服务器返回的状态是: "+post.getStatusLine());
29             //打印结果页面
30             String response = null;
31             try {
32                 response = new String(post.getResponseBodyAsString().getBytes("UTF-8"));
33             } catch (UnsupportedEncodingException e) {
34                 // TODO Auto-generated catch block
35                 e.printStackTrace();
36             } catch (IOException e) {
37                 // TODO Auto-generated catch block
38                 e.printStackTrace();
39             }
40             //打印返回的信息
41             System.out.println("返回的信息是: "+response);
42             post.releaseConnection();
43
44       }
45 }

附参考:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/

时间: 2024-08-30 14:46:45

JAVA Httpclient3.x与Httpclient4.x代码对比(post方法)的相关文章

利用 IntelliJ IDEA 进行代码对比的方法

Sometimes,我们会有这样的需求,即:想对比出两个不同版本代码的区别.如何实现? 第 1 种:如果我们是从 SVN 检出的项目,并且想比较本地代码与从 SVN 检出时的代码相比都有那些区别,可以按如下步骤操作, 如上图所示,在代码编辑区,右键唤出功能菜单,然后选择Subversion,进而会展示出更多的可选项,例如: Compare with the Same Repository Version,与 SVN 仓库相同版本做对比:Compare with Latest Repository

Java程序员最常用的6个代码对比工具,架构师一定收藏

在Java程序开发的过程中,程序员会经常对源代码以及库文件进行代码对比,那么今天在这篇文章里我们给大家介绍六款程序员常用的代码比较工具,希望对大家会有帮助. WinMerge WinMerge是一款运行于Windows系统下的文件比较和合并工具,使用它可以非常方便地比较多个文档内容,适合程序员或者经常需要撰写文稿的朋友使用.WinMerge会将两个文件内容做对比,并在相异之处以高亮度的方式显示,让使用者可以很快的查知:可以直接让左方的文件内容直接覆盖至右方,或者反过来也可以覆盖.Diffuse

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]

软件入门的知识之程序设计语言Java和C#的简单介绍和对比[图]:前言:要做软件就必然会涉及到程序设计语言,它是什么?有哪些特点?又有哪几部分组成的呢?在这里我们为大家做了一个总结,希望可以通过这些内容让大家对于程序设计语言有一个大概的认识.基本概念:1.低级/高级计算机的硬件只可以识别由1.0组成的机器指令程序,所以机器指令是最基本的计算机语言.由于机器指令是由特定的计算机系统所固有的.面向机器的语言,所以使用机器语言进行程序设计,效率低.可读性差.难以理解,而且也不便修改和维护.后来出现了由

Java多层目录打包和解压代码(apache commons compress, io, lang)

Java多层目录打包和解压代码(apache commons compress, io, lang) package zip;   import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.Fil

Java NIO原理 图文分析及代码实现

Java NIO原理 图文分析及代码实现 博客分类: java底层 java NIO原理阻塞I/O非阻塞I/O Java NIO原理图文分析及代码实现 前言:  最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.可以参考:http://baike.baidu.com/view/32726.htm )机制时,发现hadoop的RPC机制的实现主要用到了两个技术

[JavaEE]Java NIO原理图文分析及代码实现

转http://weixiaolu.iteye.com/blog/1479656 目录: 一.java NIO 和阻塞I/O的区别      1. 阻塞I/O通信模型      2. java NIO原理及通信模型 二.java NIO服务端和客户端代码实现 具体分析: 一.java NIO 和阻塞I/O的区别 1. 阻塞I/O通信模型 假如现在你对阻塞I/O已有了一定了解,我们知道阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超 时)才会返回:同

Java打印整数的二进制表示(代码与解析)

Java打印整数的二进制表示(代码与解析) int a=-99; for(int i=0;i<32;i++){ int t=(a & 0x80000000>>>i)>>>(31-i); System.out.print(t); } 拆分一下这段代码,要理解这个移位输出的问题还需要理解的以下内容:* 0x80000000是数的十六进制表示,转成二进制表示为10000000000000000000000000000000* 运算的优先级,移位运算高于逻辑运算,

Java中的NIO和IO的对比分析

总的来说,java中的IO和NIO主要有三点区别: IO                  NIO 面向流     面向缓冲 阻塞IO  非阻塞IO  无   选择器(Selectors) 1.面向流与面向缓冲 Java NIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的. Java IO面向流意味着每次从流中读一个或多个字节,直至读取所有字节,它们没有被缓存在任何地方.此外,它不能前后移动流中的数据.如果需要前后移动从流中读取的数据,需要先将它缓存到一个缓冲区. Java

Java NIO原理图文分析及代码实现

目录:一.java NIO 和阻塞I/O的区别     1. 阻塞I/O通信模型     2. java NIO原理及通信模型二.java NIO服务端和客户端代码实现 具体分析:  一.java NIO 和阻塞I/O的区别 1. 阻塞I/O通信模型 假如现在你对阻塞I/O已有了一定了解,我们知道阻塞I/O在调用InputStream.read()方法时是阻塞的,它会一直等到数据到来时(或超时)才会返回:同样,在调用ServerSocket.accept()方法时,也会一直阻塞到有客户端连接才会