태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

'Languages/Java'에 해당되는 글 12건

  1. Java-HTTPS 통신 (링크) 2013.10.18
  2. Java-HTTPS 주소의 파일 다운로드 2013.10.16
  3. JAVA-현재 시간의 날짜 간단하게 표현하기 2013.03.07

Java-HTTPS 통신 (링크)

 

 

 

  1. http://tjjava.blogspot.kr/2012/03/https.html
  2. http://java2go.net/blog/197

 

 

 

  • 간단한 예제
    • HTTPS Client 프로그램입니다.
    • 물론 아래의 예제를 사용하면 인증서 관련 에러가 발생될 수 있습니다.
    • 이에 관련하여 아래의 포스팅을 참고해 주세요.
      package foo;
      
      import java.net.URL;
      import java.io.*;
      import javax.net.ssl.HttpsURLConnection;
      
      public class JavaHttpsExample
      {
        public static void main(String[] args)
        throws Exception
        {
          String httpsURL = "https://your.https.url.here/";
          URL myurl = new URL(httpsURL);
          HttpsURLConnection con = (HttpsURLConnection)myurl.openConnection();
          InputStream ins = con.getInputStream();
          InputStreamReader isr = new InputStreamReader(ins);
          BufferedReader in = new BufferedReader(isr);
      
          String inputLine;
      
          while ((inputLine = in.readLine()) != null)
          {
            System.out.println(inputLine);
          }
      
          in.close();
        }
      }

 

출처: http://alvinalexander.com/blog/post/java/simple-https-example

신고

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/



신고

JAVA-현재 시간의 날짜 간단하게 표현하기

 

Content_TopTitle_JAVA

 

JAVA 의 System 클래스와 Calendar, SimpleDateFormat 클래스를 이용하여, 현재 날짜 및 시간을 가져올 수 있습니다.

 

  • 간단하게 아래와 같이 작성할 수 있고,
  1: long startTime = System.currentTimeMills();
  2: System.out.println("현재 시간: " + new Timestamp(startTime());
  • 혹은 아래와 같이 사용자의 편의에 따라 사용할 수 있습니다.
  1: Calendar calendar = Calendar.getInstance();
  2: 
  3: SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");
  4: 
  5: System.out.println("현재 시간: " + dateFormat.format(calendar.getTime());
신고
|  1  |  2  |  3  |  4  |