태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

Java-HTTPS 주소의 파일 다운로드

 

 

HTTPS 건 HTTP건 일반적인 환경에서 URL 접속은 대게 아래와 같이 사용하고 있습니다.

    URL url = new URL("https://hostname:port/file.txt");
    URLConnection connection = url.openConnection();
    InputStream is = connection.getInputStream();
    // .. then download the file

 

 

하지만 HTTPS 환경에서는 server 인증서가 없거나 지정하지 않을 경우 아래와 같은 오류를 만나게 됩니다.

    avax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target ......... ........... ..........

 

 

그렇기 때문에 인증서가 있다면 인증서의 위치를 지정해줘야 하지만, 인증서가 없을 경우에는 아래와 같이 작성해서 사용할 수 있습니다.

    // Create a new trust manager that trust all certificates
    TrustManager[] trustAllCerts = new TrustManager[]{
        new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return null;
            }
            public void checkClientTrusted(
                java.security.cert.X509Certificate[] certs, String authType) {
            }
            public void checkServerTrusted(
                java.security.cert.X509Certificate[] certs, String authType) {
            }
        }
    };
    
    // Activate the new trust manager
    try {
        SSLContext sc = SSLContext.getInstance("SSL");
        sc.init(null, trustAllCerts, new java.security.SecureRandom());
        HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    } catch (Exception e) {
    }
    
    // And as before now you can use URL and URLConnection
    URL url = new URL("https://hostname:port/file.txt");
    URLConnection connection = url.openConnection();
    InputStream is = connection.getInputStream();
    // .. then download the file

 

 

 

이 방법이 해답은 아니며, HTTPS 프로토콜을 사용한다면 서버의 인증서를 지정하는 방식을 사용하는 것을 권합니다.

 

 

출처: http://stackoverflow.com/questions/10135074/download-file-from-https-server-using-java


기타 HTTPS 파일 다운로드 예제

http://www.mkyong.com/java/java-https-client-httpsurlconnection-example/



신고

MySQL-Concat 사용 시 한글 깨짐 현상

 

MYSQL을 사용 시 CONCAT 을 사용할 때 한글 깨짐 현상.

 

 

* 테이블 A 가 있습니다.

* 컬럼 colA, colB 가 있습니다.

* 컬럼 colA = varchar, colB = number 입니다.

 

두 개의 컬럼은 서로 유형이 다릅니다.

 

SELECT colA, colB FROM A; 

 

정상 출력 됩니다.

 

SELECT CONCAT(colA, colB) FROM A;

 

출력 시 한글이 깨지게 됩니다.(일부 툴에서는 정상적으로 출력됨을 확인)

 

해결방법

CONCAT 을 할 때, number 유형이나 각기 다른 유형의 컬럼을 합치고자 할 때 CAST 를 해주시면 됩니다.

 

SELECT CONCAT(colA, CAST(colB AS CHAR)) FROM A;

 

 

 

참고사이트: http://srzero.tistory.com/entry/Mysql-Concat-%ED%95%9C%EA%B8%80%EA%B9%A8%EC%A7%90

신고

Web Browser 업그레이드 권장 페이지




오래된 브라우저를 사용하고 있는 사용자에게 브라우저를 업그레이드를 하는 이유와 최신 브라우저를 다운받을 수 있는 링크를 제공하는 사이트 입니다.



http://www.whatbrowser.org/intl/ko/




저작자 표시 비영리 변경 금지
신고
|  1  |  2  |  3  |  4  |  5  |  ···  |  79  |