java https与httpclient_通过httpClient连接 tomcat https (ssl)

HttpClient连接tomcat https(使用私有证书)

步骤一:

在www.apache.org下载所需的类包

commons-codec-1.3.jar

commons-httpclient-3.1-rc1.jar

commons-logging.jar

步骤二:

制作证书:

keytool -genkey -alias tomcat -keyalg RSA

任意输入,最后一个提示输入回车(保证两个密码相等)否则tomcat不能启动.

默认生成的文件在用户目录下.keystore

步骤三:

配置tomcat

更改tomcat配置文件server.xml

加入

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS"

keystoreFile="C:\.keystore"keystorePass="123456"

/>

其中keystoreFile是刚生成文件的带全路径的名字

keystorePass是刚才建立证书时候的名字

启动tomcat,访问https:\\localhost:8443/如果能正常看到,说明tomcat的https配置成功.

步骤四:

2,假设上边导出文件的名字叫tt.cer

执行(确保配置了java  home)

keytool -import -noprompt -keystore D:\Java\jdk1.5.0_06\jre\lib\security\carcert -alias tomcat -filett.cer–trustcacerts

其中红色的部分替换成自己jre的路径,alias同建立证书时的名字,file时刚才导出的证书的名字

会提示输入密码,输入刚才建立证书时输入的密码

步骤五:

编写代码

4f1150b881333f12a311ae9ef34da474.pngimportorg.apache.commons.httpclient.DefaultHttpMethodRetryHandler;

4f1150b881333f12a311ae9ef34da474.pngimportorg.apache.commons.httpclient.HttpClient;

4f1150b881333f12a311ae9ef34da474.pngimportorg.apache.commons.httpclient.HttpStatus;

4f1150b881333f12a311ae9ef34da474.pngimportorg.apache.commons.httpclient.methods.GetMethod;

4f1150b881333f12a311ae9ef34da474.pngimportorg.apache.commons.httpclient.params.HttpMethodParams;

4f1150b881333f12a311ae9ef34da474.png

4f1150b881333f12a311ae9ef34da474.png

1fa987a29c6482f53d401256f96355eb.png

ca75c07623e1b494fee67e8f316fc310.gifpublicclassTest9b8a8a44dd1c74ae49c20a7cd451974e.png{

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicstaticvoidmain(String[] args)throwsException9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png//normal();d18c02628675d0a2c816449d98bda930.pngssl();

d18c02628675d0a2c816449d98bda930.png

ecedf933ec37d714bd4c2545da43add2.png    }97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicstaticvoidssl()throwsException9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png        String url="https://127.0.0.1:8443/ts/";

d18c02628675d0a2c816449d98bda930.png        get(url);

ecedf933ec37d714bd4c2545da43add2.png    }97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicstaticvoidnormal()throwsException9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png        String url="http://127.0.0.1:8080/ts/";

d18c02628675d0a2c816449d98bda930.png        get(url);

ecedf933ec37d714bd4c2545da43add2.png    }97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifpublicstaticvoidget(String url)throwsException9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png        HttpClient client=newHttpClient();

d18c02628675d0a2c816449d98bda930.png        GetMethod getMethod=newGetMethod(url);

d18c02628675d0a2c816449d98bda930.png//设置成了默认的恢复策略,在发生异常时候将自动重试3次,在这里你也可以设置成自定义的恢复策略d18c02628675d0a2c816449d98bda930.pnggetMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, 

d18c02628675d0a2c816449d98bda930.pngnewDefaultHttpMethodRetryHandler()); 

d18c02628675d0a2c816449d98bda930.png//执行getMethodd18c02628675d0a2c816449d98bda930.pngintstatusCode=client.executeMethod(getMethod);

97e794c86028c5f5b5461ae5ef440a4c.png

3c6cafce68eb941a00f1998f1d3d3aa6.gifif(statusCode!=HttpStatus.SC_OK)9b8a8a44dd1c74ae49c20a7cd451974e.png{

d18c02628675d0a2c816449d98bda930.png          System.err.println("Method failed:"+getMethod.getStatusLine());

ecedf933ec37d714bd4c2545da43add2.png        }d18c02628675d0a2c816449d98bda930.pngbyte[] responseBody=getMethod.getResponseBody();

d18c02628675d0a2c816449d98bda930.png        System.out.println(newString(responseBody));

d18c02628675d0a2c816449d98bda930.png        getMethod.releaseConnection();

ecedf933ec37d714bd4c2545da43add2.png    }8f1ba5b45633e9678d1db480c16cae3f.png}4f1150b881333f12a311ae9ef34da474.png

普通连接和ssl连接只有一个差距就是url

posted on 2007-07-27 18:01 dreamstone 阅读(7491) 评论(0)  编辑  收藏 所属分类: 利器 、其它开源框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值