JavaコードからHTTPSプロトコルにアクセス

2610 ワード

インターネット上のWebサイトがあります.https://wtsz.jyzq.cn/ywcl.jsp?type=l&yybdm=1100&market=Z&userName=11009341&pwd=870221&ip=3.3.3.3&serverName=jyzq.cnは、HTTPSプロトコルであり、JAVAプログラムによってそのアドレスを呼び出して正しい戻りデータを得る方法である.現在このアドレスはブラウザでアクセス可能で、バックグラウンドでJAVAプログラムでアクセスする必要があります.
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;

import javax.net.ssl.HttpsURLConnection;

public class Test {

	public static void main(String[] args) throws IOException {
		URL reqURL = new URL(
				"https://wtsz.jyzq.cn/ywcl.jsp?type=l&yybdm=1100&market=Z&userName=11009341&pwd=870221&ip=3.3.3.3&serverName=jyzq.cn"); //   URL  
		HttpsURLConnection httpsConn = (HttpsURLConnection) reqURL
				.openConnection();

		/*
		 *          Web      ,           httpsConn.setDoOutput(true);
		 * OutputStreamWriter out = new
		 * OutputStreamWriter(huc.getOutputStream(), "8859_1"); out.write( "……"
		 * ); out.flush(); out.close();
		 */

		//          ,       
		InputStreamReader insr = new InputStreamReader(
				httpsConn.getInputStream());

		//              
		int respInt = insr.read();
		while (respInt != -1) {
			System.out.print((char) respInt);
			respInt = insr.read();
		}

	}

}

Output:
0##P8ZU08YAE77TFB9T4HRC93ZGBOZNSHDY
Groovy version:
import javax.net.ssl.HttpsURLConnection
    
        URL reqURL = new URL(
                "https://wtsz.jyzq.cn/ywcl.jsp?type=l&yybdm=1100&market=Z&userName=11009341&pwd=870221&ip=3.3.3.3&serverName=jyzq.cn"); //   URL  
        HttpsURLConnection httpsConn = (HttpsURLConnection) reqURL
                .openConnection();

        /*
         *          Web      ,           httpsConn.setDoOutput(true);
         * OutputStreamWriter out = new
         * OutputStreamWriter(huc.getOutputStream(), "8859_1"); out.write( "……"
         * ); out.flush(); out.close();
         */

        //          ,       
        InputStreamReader insr = new InputStreamReader(
                httpsConn.getInputStream());

        //              
        int respInt = insr.read();
        while (respInt != -1) {
            System.out.print((char) respInt);
            respInt = insr.read();
        }
//Output: 
//0##NQRCHIG6G7WJWMLKI5F1ETEGINNWT44X

注意:私が使っているJAVA 8 64ビットバージョン.以前JAVAでHTTPSプロトコルにアクセスするのは面倒だったそうです.
JAva発httpsリクエスト、証明書構成
http://blog.csdn.net/today1858/article/details/5859876
Java安全通信:HTTPSとSSL
http://www.cnblogs.com/devinzhang/archive/2012/02/28/2371631.html