HttpURLConnection 를 이용한 Http 건드리기

Posted by 빵빵빵
2010/12/21 14:31 전산(컴퓨터)/안드로이드



HttpURLConnection 은 Http를 이용하여 웹사이트에 접속해서 데이터를 주고 받을때 사용합니다.

해당 웹서버/WAS 에서 요청헤더의 특정 값이 필요한 경우, 이를 세팅해주어야하며,

응답헤더에서 내려오는 특정 값이 필요한 경우, 해당 값을 가져와야합니다..


        final public static String PUT = "Cookie";
        final public static String GET = "Set-Cookie";


        public static void main(String[] args) {

                HttpURLConnection con = null;
                String line = null;
                String cookie = "1234567890";
                try {
                        URL u = new URL("http://www.google.co.kr");

                        // request
                        HttpURLConnection huc = (HttpURLConnection) u.openConnection();
                        huc.setRequestMethod("GET");
                        huc.setRequestProperty(PUT, cookie);

                        System.out.println("request header setting:" + huc.getRequestProperty(PUT));

                        huc.connect();

                        // response
                        InputStream is = huc.getInputStream();
                        BufferedReader in = new BufferedReader(new InputStreamReader(is));

                        Map m = huc.getHeaderFields();
                        if(m.containsKey(GET)) {
                                Collection c =(Collection)m.get(GET);
                                for(Iterator i = c.iterator(); i.hasNext(); ) {
                                        cookie = (String)i.next();
                                }

                                System.out.println("server response cookie:" + cookie);
                        }
                        /*
                        while(true) {
                                line = in.readLine();
                                if(line==null) break;
                                System.out.println("line:" + line);
                        }*/
                } catch(Exception e) {
                        System.out.println("Exception...");
                        e.printStackTrace();
                } finally {

                }

        }


위의 코드는 특정 사이트로 접속을 하여 요청헤더에 Cookie의 키로 "1234567890"을 전달하고,

응답헤더에서 Set-Cookie의 키의 값을 가져오는 예제가 되겠습니다.


헤더세팅:

HttpURLConnection huc = (HttpURLConnection) u.openConnection();
huc.setRequestProperty("Cookie", "1234567890");


헤더값접근:

HttpURLConnection huc = (HttpURLConnection) u.openConnection();

Map m = huc.getHeaderFields();

 if(m.containsKey("Set-Cookie")) {
        Collection c =(Collection)m.get("Set-Cookie");
        for(Iterator i = c.iterator(); i.hasNext(); ) {
              cookie = (String)i.next();
        }

        System.out.println("server response cookie:" + cookie);
}


헤더값 접근시 유의점으로는 HttpURLConnection 개체의 getHeaderFields() 함수를 통해서 헤더값 전체가 Map으로 리턴이 됩니다. 이 Map 개체의 get 함수를 통해서 가져오는 데이터가 String이 아니라, Collection 개체라는 겁니다..


1) Map 획득

2) Map에서 get 함수를 통해서 Collection 개체 획득

2) Collection 개체에서 Iterator를 통해서 전체 루프를 돌면서 해당 값을 획득(여기에서야 드디어 String 이죠)


전혀 어렵지 않죠...


많은 도움이 되었으면 합니다..


출처 : http://blog.naver.com/hazard11?Redirect=Log&logNo=80028745174

2010/12/21 14:31 2010/12/21 14:31

비발디파크 다녀왔어요~ 2010년 12월 12일

Posted by 빵빵빵
2010/12/15 13:51 일상사



ticket괴물에서 반값에 구매한 비발디파크 리프트권 + 렌탈 50% 할인권을 들고 비발디파크를 찾았습니다.

이때는 2010년 12월 12일 이지요.....

대낮권 이었기때문에 08시 30분 부터 17시까지 탈수 있는 넘이었습니다.

같이가는 후배에게 무료셔틀예약하라 하고~

천호동(현대백화점 옆 기억에 아마도 4번 출구 였던거 같습니다.)에서 무려 7시에 출발하는 차를 잡았습니다.

막상 당일은 ㅜㅡ 6시에 일어나서 정말 빛의 속도로 준비해서 나왔다는 거죠.

후배님은 택시를 타고 납시셨다 합니다.

천호동에서 출발하는 차는 하남을 거쳐서 가기 때문에 1시간 30분이 걸립니다.

어차피 가는 길인듯하더이다.. 돌아가는건 아닌거 같아요... 하남시에서 정차시간이 있어서 그렇지...

애니메이션 고등학교 옆에서 정차합니다. 하남시 사시는 분들은 여기를 이용하면 좋을 거 같습니다.

저도 본가가 하남시라.... ㅋㅋㅋ 지금은 서울에서 자취를 하고 있지만요.


오랫만에 너무 일찍 일어난 탓에 머리가 다 아푸더군요.

걍 자 줬습니다.


한숨 푹~ 자고 일어났더니.. 8시 30분쪼금 안되서 비발디 파크에 도착했습니다.

주차장에서 스키장까지 한 150미터는 되는 듯합니다.

따뜻한 버스에서 자다 일어나서 이 쌀쌀한 날씨에 이 거리를 걸어갈려니 차를 가져올껄 그랬나 하는 생각도 들었지만....

보드 탈려면 이정도론 추워야 제맛이지... 라는 생각에 고고고~


티켓을 리프트권이랑 렌탈권으로 교환하고~


옷부터 갈아입어야 하는데 렌탈부터 하는 무지한 짓을 하고 말았습니다. ㅡㅜ

옷부터 갈아입어야 데크랑 부츠를 들고 다니는 수고를 더는데 말이죠.


하지만 부츠의 상태를 보아 하니 만족 스러웠습니다.

전에 오크벨리 갔을때는 정말 최악이었거덩요. 끈도 끊어진 거였는데..... 묶는거고...

정말 손으로 만지기가 싫을 정도였어요.


하지만 역시 비발디는 부츠 상태도 좋고 끈도 쭈욱~ 땡겨서 걸면 되는거고....
사용자 삽입 이미지



요넘은 초급코스로 올라가서 찍은 사진입니다.

사용자 삽입 이미지
사용자 삽입 이미지



초급코스는 불만인 것이... 빙판이 많았습니다. 빙판에서 보드타는 거는 자살행위지요.. 엣지가 안먹어요!!!

서고 싶을때 잘 안선다는 거죠. 얼음 갈리는 소리가 나면서 미끄러지죠. 너무 위험해요.

첫 보딩때 슬로프의 좌측에서 제설을 하고 있어서 제설 안하는 우측으로 내려갔더니 정말 몇미터씩 되는 빙판이 3군데 이상 보였어요.

정말 목숨의 위협을 느꼈죠!!! 초급코스인데 이렇게 관리를 하다니.... 머 이점은 어느 스키장이나 다 그런거 같습니다만...

안전에 생각이 있는 사람들이라면 눈이 날라가서 빙판이 보인다느니 사람이 많아서 쓸려 내려가서 어쩔수 없다느니 하는 변명따윈 집어 치우고 슬로프 관리를 잘 해야 할 것입니다. 예전에 어느 스키장인가 방판인거에 대해 변명을 이렇게 해대고 있었던 기억이 납니다.

바람불고 사람 많아서 슬로프 관리를 못하겠스면 문 닫아요죠!! 그 많은 사람한테 리프트비용을 받지 말아야죠!! ㅡㅡ;

하여간 비발디도 좀 슬로프 관리에 철저햇으면 좋겠습니다.


빙판 빼고는 설질은 괸찮았던 걸로 판단됩니다. 제설한지 얼마 안된걸테니깐요 ㅋ

눈이 많이 쌓인 곳은 푹신푹신하고 좋습니다.


한번 빙판길로 내려오고 나서는 일부러 제설하는 곳으로 내려왔습니다. 아무래도 눈이 쌓여있을 거 같아서요. ㅋ

눈발도 날리고.... 실제 눈은 아니지만... ㅡㅡ; 빙판은 보이지 않아서 괸찮았습니다.


두어번 초급에서 타고 중급으로 넘어갔죠.


제가 간 날에는 초급/중급/중상급/상급코스 1개인가를 오픈했습니다.


제가 중급 코스까지밖에 못타서... ㅋ 역시 초급 슬로프와는 설질이 완전 틀리더군요.

해피했습니다.

작년에 중상급 코스 내려오려다가 ㄷㄷㄷ한 기억이 있어서 중상급은 집에 가기 전에 한번만 도전해 보자고 생각하고 줄창 중급만 탓습니다.

상급은 아직 실력도 안되고.... 이날은 리프트로는 상급코스에 못올라가고 곤돌라를 타야만 갈수 있었습니다.

곤돌라는 따로 돈을 내야 한다는 소문에... 걍 어차피 타지도 못하는 상급 올라가지도 않았습니다.


오전을 열심히 타고 밥을 먹었습니다.

후배는 옛날 도시락! 나는 장터국밥.....


옛날 도시락은 정말 옛날 도시락 답게 푸짐하게 나왔습니다. 도시락 사이즈부터 달랐어요.

서울서 식당에서 사먹는 도시락과는 틀립니다. ㅋ

처음에 뚜껑 열때는 쫌 황당하긴 했습니다. 허연 밥에 계란 후라이 달랑 하나?

ㅋㅋㅋㅋ 하지만 볶은 김치는 밑에 깔려 있다는거...

아마도 난로 위에 뎁혀놓고 보관을 하고 있어서 밥이 바닥에 있으면 탈까봐 그런거 같습니다.

밥에 달랑 미소장국이라고 나오는데 좀 약해 보이죠? 맛은 있었습니다. 볶은김치는 최상의 조미료니깐요.

그래도 가격은 6,000원이에요.. 스키장이니깐 넘어가야 할거 같습니다.
사용자 삽입 이미지
먹다가 찍는 만행을 ㅡㅡ;;



장터국밥은 육개장이더군요 ㅋ 짭짤하니... 맛있게 먹었습니다.

원산지 표시는 다 외국 산이었습니다. 다 호주... ㅡㅡ;
사용자 삽입 이미지


아... 중급 코스 사진을 찍었습니다.

이건 아래에서 찍은건데, 왼쪽이 중급코스 오른쪽이 초급코스....

중급코스는 꼭데기에서 아래를 보고 우측으로 내려오면 사진의 좌측인 중급코스로 내려오게 되고요.

중급코스 꼭데기에서 아래를 보고 좌측으로 내려오면 중상급 급경사 코스를 지나 초급코스와 만나서 사진의 우측 초급코스로 내려오게 됩니다.

중상급코스는 경사 정말 ㅎㄷㄷ합니다. 후덜덜....

막판에 중상급 딱 한번 타봤는데 휴.... 정말 S자 그리기 힘들더라구요....

사용자 삽입 이미지

사진상으로 봐도 좌측 중급코스가 우측 초급코스보다 경사가 좀 있는거 같아 보이네요.




돌아오는 길에는 지하에 Good goods라는 마트같은 곳이 있는데 거기에서 맥주 한캔하고 프링글스, 베지밀 한병을 사갖고 돌아가는 버스에 올랐습니다.(참고로 거기에 레스토랑 같은거도 있었고요. 꼬마애들 탈만한 놀이기구도 있었습니다.)
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
마트에서 술하고 신라면을 쎗트로 팔더군요... ㅋ


버스에서 맥주 한캔 마시니깐 피곤함에 알콜기운까지... 서울 도착할때까지 골아떨어져 버렸습니다.

버스에서 맥주캔 떨어트렸을땐 완전 쪽팔렸지만... 빈캔이라 소리도 많이 났는데....

살짝 알딸딸한 상태라 얼렁 주워서 쓰레기통에 담아 놓고 걍 자버렸습니다. ㅋ










2010/12/15 13:51 2010/12/15 13:51

오크벨리 갔다왔어요~

Posted by 빵빵빵
2010/11/29 11:01 일상사



오클벨리 개장 2일째인가... 3일째인가... ㅋ


아침 6시 40분 무료 셔틀버스를 타고 출발을 했습니다.

ㅡㅡ; 집에서 살짝 늦게 일어난 이유로 택시를 집어타고 갔죠... 셔틀비 내고 가는거라 생각하기로 했어요.

더구나... 보드 셋트를 짊어지고 올 칭구녀석을 픽업해가는 바람에 더욱 뿌듯(?) 해졌죠. ㅋ

10분이나 빨리 도착했는데... 젊은 보더들... 내가 젊은거고.. 쟤들은 어린 보더들이라고 해야겠죠..

어린 보더들이 이미 옹기종기 모여있더라구요. 30분이 딱 되니가 어디서 나타나셨는지 버스회사 아저씨그들이 분을 딱~ 따주시더라고요.

바로 시동도 걸어주셔서 따뜻하게 기다렸습니다.

이날 추위가 갑자기 찾아왔거든요... 그래서 좀더 기분이 좋았죠... 이정도는 추워야~~~ 보드타지~ 생각에...



버스는 6시 40분을 조금 넘겨 출발을 했습니다.

버스에서 한숨 자 주고... 찌뿌둥한 몸을 일으키니 어느덧 오크벨리에 도착했군요. 8시 30분...

시즌권 찾고 저는 보드 랜탈하고... 아놔.. 시즌권에 랜탈 할인권이 있었는데... ㅜㅡ 못보고 1만원 주고 랜탈 했어요... ㅡㅜ

할인권이 있는 걸 집에 갈때쯤에 알았다는... ㅜㅡ 머... 담에 또 오면 돼죠.

그러나 정말 보드부츠는 허접하더군요. 냄새나고.. 뒤쪽 끈 끊어지고.. 묶는 끈은 먼지 풀풀나고.. 끈이라 힘들게 낑낑대면서 묶고... 깔창 작은거 들어가 있고... 정말 화가 머리끝까지 났어요... 젠장...

이거만 아니었어도.... 행복할텐데... 다음에 렌탈할때는 교환*3번 정도 해야 겠어요. 쩝....

옷 갈아입고 슬로프를 나갔습니다. 한 9시정도 된듯해요...

사용자 삽입 이미지

아직 인공 제설한 눈이 얼마없어요. 왼쪽하단에 잔디가 그대로 보인다는...

그래도 제설한지 얼마 안되서 설질은 좀 낫네요. 시간 좀 지나면 빙판된다는거!!

이날은 초급코스만 오픈했는데 역시 오크벨리 초급 코스는 최악이에요.

듣기론 골프장 8번홀인가 5파 짜리 홀에 눈뿌린거레요.

경사가 완만하고 중간에 평지구간도 있고 그 뒤엔 살짝 오르막이 있어서 보더들이 거기서 다 서버리죠. ㅡㅡ

리프트 타는데까진 한참 남았는데 말이죠(한 100미터 될라나...) 그래도 한 10걸음 걸어가다가(보드 바인딩하고 10걸음 걷기가 쉽지 않죠. 더구나 초보인 저한테는...) 다시 쓸만한 경사가 나와요.

하지만 중간에 서는건 최악!!

이날 리프트는 낮에 한시간정도 고장인지 서버렸고 17시 폐장이 30분 연장되서 17시 30분에 됬어요. 뭔가 불공평하죠??

돌아가는 셔틀버스는 1시 30분에 예약해서 늦게 갈 수가 없는데... ㅡㅡ;


사용자 삽입 이미지

이틈에 칭구랑 분식을 먹어줬죠. 오뎅꼬치... 순대... 떡볶이... 8천냥.. ㅡㅡ; 스키장이니깐 이정도는 싼건가요?



아침 일찍은 리프트 타는데 기다리는 시간이 친구랑 잠깐 이야기하면 금방 탈수 있을 정도로 그리 길지 않았고 11시 쯤 되니까 10분 이상 걸리고 줄서기 시작해서 올라갔다가 내려와서 다시 줄서는데 20분에서 25분정도 걸렸습니다. 이건 기다리는데 짜증나서 도데체 얼마나 걸리나 싶어서 시간쟀어요.

리프트 타는데 기다리는시간 + 리프트 타고 올라가는 시간 + 보드 한쪽 바인딩하는 시간 + 보드타고 내려오는 시간 + 중간에 평지에서 걸어가는 시간 + 다시 내려오는 시간 다 합쳐서 20분에서 25분정도 걸렸습니다. 리프트 기다리는게 10분 이상... ㅡㅡ;

올라가는데 5분 내려오는데는 5분도 안결렸겠죠??? 머 이렇습니다.



이날 갔을때 다른 슬로프쪽에 제설이 한창이었는데... 오늘쯤에는 정설하고 개장하지 않을까 싶네요~

그러면 사람이 많아져도 나뉘기 때문에 기다리는 시간이 많이 줄겠죠~



다음에 가면 중급 이상에서만 타야 할거 같아요.

평지는 정말 시러요... 평지 다음에 살짝 오르막도 싫어요... 이미 속도 다 떨어졌는데... ㅡㅡ; 그 다음에 60도 정도 되는 급경사.... 난감하죠.. ㅋ 나같은 초짜에겐 더욱더!!!




다음주에 달려봐야겠습니다. ^^
2010/11/29 11:01 2010/11/29 11:01