총 게시물 1,105건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[TIP&TECH]

HttpsURLConnection 을 이용한 Https(SSL)통신

글쓴이 : 개발자신종진 날짜 : 2015-01-13 (화) 13:03 조회 : 11314
글주소 : http://www.androidside.com/B56/27358
HttpsURLConnection 을 이용한 Https(SSL)통신 (3.8K), Down : 16, 2015-01-13 13:03:03
 
  메일나라 HTTPSSSL
국가공인 1등급기업메일, 보안메일, 창립1992년 호스팅전문가, 메일SSL무료제공
mailnara.co.kr
  영화 매니아라면 oksusu
무료 영화부터 최신 영화까지! 보는 재미가 우수수, oksusu
www.oksusu.com
  안전하고 빠른속도 파일캐스트
언제 어디서나 방송직후 다시보기, 최신영화,TV방송, 애니, 스마트폰 감상
filecast.kr
신청하기


1. URLConnection 설정 
URL url = new URL("--URL 입력--");
(HttpsURLConnection 설정 함수) 실행;
// HttpsURLConnection 설정 =============================================
private static void (HttpsURLConnection 설정 함수)() {
        // Create a trust manager that does not validate certificate chains
        TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
            public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                return new java.security.cert.X509Certificate[]{};
            }

            @Override
            public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType)throws java.security.cert.CertificateException {  
            }

            @Override
            public void checkServerTrusted(java.security.cert.X509Certificate[] chain,String authType) throws java.security.cert.CertificateException {
            }
        }};

        // Install the all-trusting trust manager
        try {
            SSLContext sc = SSLContext.getInstance("TLS");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());
            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    //======================================================================
    HttpsURLConnection httpsURLConnection = (HttpsURLConnection) url.openConnection();
    httpsURLConnection.setHostnameVerifier(new HostnameVerifier() {
    public boolean verify(String s, SSLSession sslSession) {
      return true;
      }
    });
    HttpURLConnection connection = httpsURLConnection;
    
2. 통신을 위한 연결 설정

connection.setRequestMethod("POST");
    connection.setDoInput(true);
    connection.setDoOutput(true);

    List<BasicNameValuePair> nameValuePairs = new ArrayList<BasicNameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("인자이름1", "인자값1"));
    nameValuePairs.add(new BasicNameValuePair("인자이름2", "인자값2"));
...
    OutputStream outputStream = connection.getOutputStream();
    BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
    bufferedWriter.write(getURLQuery(nameValuePairs));
// Cf. getURLQuery 아래 참조 =============================================
private String getURLQuery(List<BasicNameValuePair> params){
    StringBuilder stringBuilder = new StringBuilder();
        boolean first = true;

        for (BasicNameValuePair pair : params)
        {
            if (first)
                first = false;
            else
                stringBuilder.append("&");

            try {
                stringBuilder.append(URLEncoder.encode(pair.getName(), "UTF-8"));
                stringBuilder.append("=");
                stringBuilder.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }

        return stringBuilder.toString();
    }
// =======================================================================
    bufferedWriter.flush();
    bufferedWriter.close();
    outputStream.close();
    
3. 연결

connection.connect();

4. 서버로부터 받는 결과값 처리

StringBuilder responseStringBuilder = new StringBuilder();
    if (connection.getResponseCode() == HttpURLConnection.HTTP_OK){
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        for (;;){
             String stringLine = bufferedReader.readLine();
             if (stringLine == null ) break;
             responseStringBuilder.append(stringLine + ' ');
        }
        bufferedReader.close();
    }
connection.disconnect();



종합평점 (참여 3명)

추천 버튼을 클릭하면 추천한 자와 추천받은 자 모두에게 포인트가 지급됩니다.

하람비 2015-01-14 (수) 11:23
잘봤습니다
댓글주소
duxoek 2015-05-21 (목) 10:59
잘봤습니다.
댓글주소
안사드 2015-07-02 (목) 18:22
감사합니다.
댓글주소
광균 2015-07-06 (월) 15:01
좋은자료 감사합니다. 
댓글주소
흙왕 2015-11-10 (화) 17:42
잘봤습니다.
댓글주소
치아라 2015-12-19 (토) 13:52
좋은자료 감사합니다.
댓글주소
박카스옹 2016-02-11 (목) 10:20
참고하겠습니다
댓글주소
초밥입니다 2016-02-19 (금) 10:53
참고하겠습니디
댓글주소
닉임 2016-02-26 (금) 17:49
좋은자료 감사합니다.
댓글주소
kmcorps 2016-04-25 (월) 14:26
잘봤습니다.
댓글주소
crum153 2016-05-04 (수) 15:56
잘봤습니다
댓글주소
시기시기 2016-07-20 (수) 14:08

잘봤습니다.~

댓글주소
웅이아범득이 2016-10-14 (금) 21:03
잘봤습니다.
댓글주소
무료회원 2016-12-16 (금) 11:44
좋아요
댓글주소
거너 2017-09-04 (월) 16:26

참고하겠습니다~

댓글주소
퐈리 2017-12-26 (화) 18:18
잘봤습니다.
댓글주소
너부리주름살 2018-06-11 (월) 17:00
thanks
댓글주소
이전글  다음글  목록 글쓰기

총 게시물 1,105건, 최근 0 건 안내 RSS
번호 분류 제목 글쓴이 날짜 추천 조회
1105 소스코드  안드로이드 스튜디오 (oreo) 설문조사 어플 개… sooooom 06-16 0 99
1104 강좌  100 Days Google Dev, 3: Google Play Services 7.5 StanleyKou 01-24 0 645
1103 강좌  100 Days Google Dev, 2: The Magic of LRU Cache StanleyKou 01-20 0 664
1102 강좌  100 Days Google Dev, 1: Android Design Support Library 2 StanleyKou 01-18 0 756
1101 TIP&TECH  리스트뷰에서 스위치,체크박스사용시 4 에찌 05-08 5 2113
1100 TIP&TECH  뷰(RecyclerView/...)에 Max Height 주기/[Android] 김병희라고요 04-26 0 1863
1099 TIP&TECH  TabLayout ClickEvent 에찌 04-21 1 1673
1098 TIP&TECH  현재 사용하고 있는 어플 foreground인지 backgroun… 4 에찌 04-14 2 2525
1097 TIP&TECH  안드로이드 Drawble 에 해상도 마다 이미지를 … 1 에찌 04-14 1 1728
1096 TIP&TECH  fragment 에서 ButterKnife 사용 시 resource가져올 때… 1 에찌 04-12 0 1398
1095 TIP&TECH  Youtube 및 facebook 동영상 업로드 할때 1 희망과꿈을 03-28 0 1814
1094 TIP&TECH  google service lib 가져올 때 3 에찌 03-20 3 1833
1093 소스코드  CentralRV 프로젝트 - RecyclerView 가로/세로 가운… 1 김병희라고요 01-30 1 3208
1092 TIP&TECH  번개검색 시스템/[Android] 2 김병희라고요 12-29 2 2391
1091 TIP&TECH  RecyclerView 특정 포지션으로 스크롤 - smoothScroll… 1 김병희라고요 12-12 1 2300
1090 강좌  왕앱따 107. 자바/C++ 파일읽기 속도 비교/[Androi 김병희라고요 11-26 0 2448
1089 강좌  왕앱따 106. C++ 동영상 강좌/[Android] 김병희라고요 11-23 0 2857
1088 소스코드  AOSP용 한글 키보드 입력키 엘카이저 11-17 1 2610
1087 강좌  addDrawerListener, setDrawerListener(deprecated)/[Android] 김병희라고요 11-02 2 2985
1086 강좌  왕앱따 103. 아이콘 반복클릭 테스트/[Android] 김병희라고요 11-01 0 2245
 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  다음  맨끝
 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기