文档章节

(转)  Apache HttpClient POST数据(https)

 机会只给有准备的人
发布于 2015/08/13 16:14
字数 225
阅读 14
收藏 0
public class LoginTest {
     @Test
     public void testHttpPost() throws Exception {
         HttpClient client = new DefaultHttpClient();
         client = WebClientDevWrapper.wrapClient(client);
 
         HttpPost post = new HttpPost( "https://localhost:8443/login" );
//        StringEntity entity = new StringEntity("user=test@abc.com&pwd=111&type=x");
//        post.setEntity(entity);
         List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>( 2 );
         nameValuePairs.add( new BasicNameValuePair( "user" , "test@abc.com" ));
         nameValuePairs.add( new BasicNameValuePair( "pwd" , "111" ));
         nameValuePairs.add( new BasicNameValuePair( "type" , "x" ));
         post.setEntity( new UrlEncodedFormEntity(nameValuePairs));
 
         HttpResponse res = client.execute(post);
         System.out.println(res.getStatusLine());
 
         BufferedReader br = new BufferedReader( new InputStreamReader(res.getEntity().getContent()));
         String line = br.readLine();
         while (line != null ) {
             System.out.println(line);
             line = br.readLine();
         }
         client.getConnectionManager().shutdown();
     }

}


public class WebClientDevWrapper {
 
     public static HttpClient wrapClient(HttpClient base) throws Exception {
         SSLContext ctx = SSLContext.getInstance( "TLS" );
         X509TrustManager tm = new X509TrustManager() {
             @Override
             public void checkClientTrusted(java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException {
             }
 
             @Override
             public void checkServerTrusted(java.security.cert.X509Certificate[] x509Certificates, String s) throws java.security.cert.CertificateException {
             }
 
             @Override
             public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                 return new java.security.cert.X509Certificate[ 0 ];
             }
         };
         ctx.init( null , new TrustManager[]{tm}, null );
         SSLSocketFactory ssf = new SSLSocketFactory(ctx);
         ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
         ClientConnectionManager ccm = base.getConnectionManager();
         SchemeRegistry sr = ccm.getSchemeRegistry();
         sr.register( new Scheme( "https" , ssf, 443 ));
         return new DefaultHttpClient(ccm, base.getParams());
     }
}






本文转载自:http://my.oschina.net/uniquejava/blog/354355

共有 人打赏支持
粉丝 0
博文 1
码字总数 0
作品 0
成都
私信 提问
【J2EE系列】HttpClient 学习整理 [转]

HttpClient 是我最近想研究的东西,以前想过的一些应用没能有很好的实现,发现这个开源项目之后就有点眉目了,令人头痛的cookie问题还是有办法解决滴。在网上整理了一些东西,写得很好,寄放...

磊神Ray
2012/01/12
0
0
通过JAVA程序来获取某个页面的信息 HttpClient

今天碰到一个问题,就是跨域调取数据的问题.....应该算是跨域吧,看到程序时用httpClient写的,晚上回来看了一下,非常好,看到一篇好文章,转过来 一般的情况下我们都是使用IE或者Navigator...

枫爱若雪
2012/04/12
0
0
应用HttpClient来对付各种顽固的WEB服务器

一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器,用来浏览页面查看信息或者提交一些数据等等。所访问的这些 页面有的仅仅是一些普通的页面,有的需要用户登录后方可使用...

红薯
2008/10/05
4.1K
2
HttpClient及有关jar包详解

1.HttpClient简介 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。本...

长平狐
2012/11/12
12.3K
2
JAVA-用HttpClient来模拟浏览器GET,POST

一般的情况下我们都是使用IE或者Navigator浏览器来访问一个WEB服务器,用来浏览页面查看信息或者提交一些数据等等。所访问的这些页面有的仅仅是一些普通的页面,有的需要用户登录后方可使用,...

Liuxz-aaa
2011/08/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

/sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接

平台:Ubuntu 18 LTS 问题描述 /sbin/ldconfig.real: /usr/local/lib/libcudnn.so.7 不是符号链接 解决办法:建立软连接 sudo ln -sf /usr/local/lib/libcudnn.so.7.1.3 /usr/local/lib/libc......

Pulsar-V
11分钟前
0
0
C++多线程之使用Mutex和Critical_Section

Mutex和Critical Section都是主要用于限制多线程(Multithread)对全局或共享的变量、对象或内存空间的访问。下面是其主要的异同点(不同的地方用绿色表示)。 Mutex Critical Section 性能和...

shzwork
25分钟前
0
0
AWS的自动部署工具codedeploy 部署前的准备工作

开始部署codedeploy: 1.先预置IAM用户: 创建一个IAM用户或使用一个与AWS相关联的用户; 复制以下的策略附加到IAM用户,向IAM用户赋予对codedeploy(及codedeploy所依赖的AWS服务和操作)的...

守护-创造
37分钟前
1
0
这可能是最详细的一线大厂Mysql面试题详解了

1、MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联; 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 从:io线程——在使用start slave 之后...

Java干货分享
47分钟前
3
0
人的精力是什么?如何强化精力

人的精力是什么? 人的精力是什么? 精力指精神和体力。精神包括一个人的精神状态,兴奋度,做事情的投入度,专注度,持续时间等。 人的精力来源 人的精力有4种来源,身体的、情感的、思想的和...

莫库什勒
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部