少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks
          //客戶端代碼,用來測試訪問Servlet:

          package com.abin.lee.ssh.basic.unionpay;

          import java.io.BufferedInputStream;
          import java.security.cert.CertificateException;
          import java.security.cert.X509Certificate;
          import java.text.SimpleDateFormat;
          import java.util.ArrayList;
          import java.util.List;

          import javax.net.ssl.SSLContext;
          import javax.net.ssl.SSLSocket;
          import javax.net.ssl.TrustManager;
          import javax.net.ssl.X509TrustManager;

          import org.apache.http.HttpResponse;
          import org.apache.http.HttpVersion;
          import org.apache.http.NameValuePair;
          import org.apache.http.client.HttpClient;
          import org.apache.http.client.entity.UrlEncodedFormEntity;
          import org.apache.http.client.methods.HttpPost;
          import org.apache.http.client.params.AllClientPNames;
          import org.apache.http.conn.scheme.Scheme;
          import org.apache.http.conn.ssl.SSLSocketFactory;
          import org.apache.http.impl.client.DefaultHttpClient;
          import org.apache.http.message.BasicNameValuePair;
          import org.apache.http.params.BasicHttpParams;
          import org.apache.http.params.HttpParams;
          import org.apache.http.protocol.HTTP;
          import org.junit.Test;

          public class GetUnionpayMessages1Test {
           private static final String HTTPURL = "

           @Test
           public void testGetMessageState() throws Exception {
            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(HTTPURL);
            httpClient.getParams().setParameter(AllClientPNames.PROTOCOL_VERSION,
              HttpVersion.HTTP_1_1);
            httpClient.getParams().setParameter(
              AllClientPNames.USE_EXPECT_CONTINUE, Boolean.TRUE);
            httpClient.getParams().setParameter(
              AllClientPNames.HTTP_CONTENT_CHARSET, "UTF_8");
            httpClient.getParams().setParameter(
              AllClientPNames.CONN_MANAGER_TIMEOUT, 10000l);
            httpClient.getParams().setParameter(AllClientPNames.CONNECTION_TIMEOUT,
              2000);
            httpClient.getParams().setParameter(AllClientPNames.SO_TIMEOUT, 10000);
            try {
             TrustManager easyTrustManager = new X509TrustManager() {
              public void checkClientTrusted(X509Certificate[] chain,
                String authType) throws CertificateException {
               // 哦,這很簡單!
              }
              public void checkServerTrusted(X509Certificate[] chain,
                String authType) throws CertificateException {
                //哦,這很簡單!
              }
              public X509Certificate[] getAcceptedIssuers() {
               return null;
              }
             };
             SSLContext sslcontext = SSLContext.getInstance("TLS");
             sslcontext
               .init(null, new TrustManager[] { easyTrustManager }, null);
             SSLSocketFactory sf = new SSLSocketFactory(sslcontext);
             SSLSocket socket = (SSLSocket) sf.createSocket();
             socket.setEnabledCipherSuites(new String[] { "SSL_RSA_WITH_RC4_128_MD5" });
             HttpParams params = new BasicHttpParams();
             Scheme sch = new Scheme("https", 1443, sf);
             sf.connectSocket(socket, "124.288.188.28", 1443, null, -1, params);

             httpClient.getConnectionManager().getSchemeRegistry().register(sch);

             List<NameValuePair> nvps = new ArrayList<NameValuePair>();
             nvps.add(new BasicNameValuePair("userName", "abin"));
             nvps.add(new BasicNameValuePair("createTime", new SimpleDateFormat(
               "yyyy-MM-dd HH:mm:ss").format(new java.util.Date())));
             HttpResponse httpResponse = null;
             String result = "";
             try {
              httpPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
              httpResponse = httpClient.execute(httpPost);
              BufferedInputStream buffer = new BufferedInputStream(
                httpResponse.getEntity().getContent());
              byte[] bytes = new byte[1024];
              int line = 0;
              StringBuilder builder = new StringBuilder();
              while ((line = buffer.read(bytes)) != -1) {
               builder.append(new String(bytes, 0, line, "UTF-8"));
              }
              result = builder.toString();
             } catch (Exception e) {
              e.printStackTrace();
             } finally {
              if (httpPost.isAborted()) {
               httpPost.abort();
              }
              httpClient.getConnectionManager().shutdown();
             }
             System.out.println("result=" + result);

            } finally {
             // When HttpClient instance is no longer needed,
             // shut down the connection manager to ensure
             // immediate deallocation of all system resources
             httpClient.getConnectionManager().shutdown();
            }
           }
          }





          //在%TOMCAT_HOME%/conf/server.xml里面添加的內(nèi)容

          <Connector port="1443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" keystoreFile="D:/tomcat.keystore"
               keystorePass="longcode" sslProtocol="TLS" />





          //UnionPayDeal.java

          import java.io.BufferedReader;
          import java.io.IOException;
          import java.io.InputStreamReader;

          import javax.servlet.ServletConfig;
          import javax.servlet.ServletException;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;
          /**
           *
           * @author Administrator
           *
           */
          public class UnionPayDeal extends HttpServlet {
           private static final long serialVersionUID = -1370581177759574628L;

           public void init(ServletConfig config) throws ServletException {
            super.init(config);
           }

           public void doPost(HttpServletRequest request,HttpServletResponse response) throws IOException{
            System.out.println("接收到銀聯(lián)的異步通知");
            String accept=null;
            BufferedReader reader=new BufferedReader(new InputStreamReader(request.getInputStream()));
            int num=0;
            char[] buffer=new char[1024];
            while((num=reader.read(buffer))!=-1){
             accept=new String(buffer,0,num);
             System.out.println("accept="+accept);
            }
           }
           
           
           public void destroy() {
            super.destroy();
           }
          }


           

          主站蜘蛛池模板: 吕梁市| 抚远县| 张家口市| 陈巴尔虎旗| 德保县| 封丘县| 南涧| 绥滨县| 邹城市| 鹿泉市| 嵩明县| 城步| 称多县| 沁水县| 稷山县| 准格尔旗| 闻喜县| 巴楚县| 广元市| 景德镇市| 安化县| 青田县| 手机| 清新县| 德惠市| 同德县| 东平县| 陵川县| 固始县| 锡林浩特市| 乌兰察布市| 隆昌县| 图片| 繁昌县| 钟祥市| 岳阳县| 白水县| 平谷区| 罗源县| 德化县| 汪清县|