유튜브 페이지에는 4개의 변수가 존재한다.
일단 이 녀석들을 URL decoding 해주면 아래와 같은 값으로 나오게 된다.

fmt_mapfmt_list와 내용이  유사하며
fmt_url_mapfmt_stream_map 과 내용이 유사하다.

아무튼 다운로드 주소를 얻을려면 fmt_url_map / fmt_stream_map 중에 하나에서 빼내면 된다.

fmt_map=22/2000000/9/0/115,35/640000/9/0/115,34/0/9/0/115,5/0/7/0/0&mpu=True&hl=ko_KR&ad_flags=0&rv.5.length_seconds=243&rv.0.thumbnailUrl=http://i1.ytimg.com/vi/lzVFyWNzjtE/default.jpg&rv.7.author=allkpop&cid=11332&rv.1.length_seconds=240&ad_logging_flag=1&rv.2.id=2f5hg3FlYc4

fmt_url_map=22|http://v15.lscache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0dWRVhNU19FSkNNNl9QR1dD&fexp=900023%2C901802&itag=22&ipbits=0&sver=3&ratebypass=yes&expire=1270825200&key=yt1&signature=428B55DAF445D856E5F8A704C91B635776474DC3.B807EF9FE3245923257F82EDCDDD2FB7EFC4CFAF&id=4c66f02fc912a449,

더보기


하지만.. 리눅스에서 wget으로는 다운로드 되지 않는다 OTL

$ wget "http://v15.lscache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0dWRVhNU19FSkNNNl9QR1dD&fexp=900023%2C901802&itag=22&ipbits=0&sver=3&ratebypass=yes&expire=1270825200&key=yt1&signature=428B55DAF445D856E5F8A704C91B635776474DC3.B807EF9FE3245923257F82EDCDDD2FB7EFC4CFAF&id=4c66f02fc912a449"
--17:55:02--  http://v15.lscache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0dWRVhNU19FSkNNNl9QR1dD&fexp=900023%2C901802&itag=22&ipbits=0&sver=3&ratebypass=yes&expire=1270825200&key=yt1&signature=428B55DAF445D856E5F8A704C91B635776474DC3.B807EF9FE3245923257F82EDCDDD2FB7EFC4CFAF&id=4c66f02fc912a449
Resolving v15.lscache4.c.youtube.com... 74.125.107.35
Connecting to v15.lscache4.c.youtube.com|74.125.107.35|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
17:55:02 ERROR 403: Forbidden.


2010/02/26 - [프로그램 사용/유튜브 (youtube)] - 유튜브 파일 다운로드 하기(download youtube as file)

신고
Posted by 구차니

댓글을 달아 주세요

  1. 은근 복잡하네요.

    2010.04.12 13:37 신고 [ ADDR : EDIT/ DEL : REPLY ]

아래는 wireshark로 tcp 에서 긁어 본건데, 간단하게 URL을 빼내기는 힘들다라는 내용
[링크 : http://blog.scouta.com/2007/10/20/youtubes-h264-file-url/]

아래는 &t 에 &fmt 값으로 원하는 포맷으로 변경후 받는 내용
[링크 : http://blog.jimmyr.com/High_Quality_on_Youtube_11_2008.php]


하.지.만 될리가 없잖아 ㄱ-
아무튼 혼자서 또 삽질을 하면서 알아낸 것은


http://www.youtube.com/watch?v=TMZNXW7cFCs
이 녀석을 샘플로 말하자면

이 html 페이지를 열어 보면 다음과 같은 내용이 있다.
yt.setConfig({
            'VIDEO_ID': 'TMZNXW7cFCs',
            'VIDEO_TITLE': '게임테크 2010 시연 동영상  1',

            'SWF_URL': (yt.flash.canPlayV9Swf() ? (!yt.flash.canPlayH264Videos() ? "http://s.ytimg.com/yt/swf/watch-vfl148687.swf" : "http://s.ytimg.com/yt/swf/watch_as3-vfl148857.swf") : "http://s.ytimg.com/yt/swf/watch_v8-vfl148687.swf"),
            'SWF_ARGS': {"rv.2.thumbnailUrl": "http%3A%2F%2Fi3.ytimg.com%2Fvi%2FfmPjDH1sDfo%2Fdefault.jpg", "rv.7.length_seconds": "600", "rv.0.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPOcCzju_kqk", "rv.0.view_count": "7243", "enablecsi": "1", "rv.2.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+8%2F14", "rv.7.thumbnailUrl": "http%3A%2F%2Fi3.ytimg.com%2Fvi%2F2rEfw1DEtts%2Fdefault.jpg", "rv.4.rating": "5.0", "length_seconds": "78", "rv.0.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+14%2F14", "rv.7.author": "junjangsoh", "rv.7.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+10%2F14", "rv.3.view_count": "6324", "allow_embed": "1", "rv.5.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+5%2F14", "rv.0.length_seconds": "564", "rv.4.thumbnailUrl": "http%3A%2F%2Fi3.ytimg.com%2Fvi%2FnHQokcqw2uw%2Fdefault.jpg", "fmt_url_map": "22%7Chttp%3A%2F%2Fv20.lscache7.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Cratebypass%26fexp%3D900023%252C901802%26itag%3D22%26ipbits%3D0%26sver%3D3%26ratebypass%3Dyes%26expire%3D1267196400%26key%3Dyt1%26signature%3D0F25C849B5E0697E2708D7FDF90873CA778C1814.33DA1EEAD4CC9692C5613494A2C564133BF81595%26id%3D4cc64d5d6edc142b%2C35%7Chttp%3A%2F%2Fv21.lscache2.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D35%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D241955F71A0A876EC7B6DB78E3E792F66F3F21AD.309C4F50111292184108BB359CEEF7A9A86B918F%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C34%7Chttp%3A%2F%2Fv2.lscache8.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D34%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D6AE4B5BA71E0F02396287FFDA1DF821A6158B6AF.CB0891E42ADAB8317ECA61A64CF77DD79BE662AC%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C5%7Chttp%3A%2F%2Fv7.lscache3.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D5%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D5AD304AB9BCC13F8BD46205F6F5FD95EF491C5EB.AB6CB2D6EEAE16BAE8003D88D2628D4008065739%26factor%3D1.25%26id%3D4cc64d5d6edc142b", "rv.2.rating": "5.0", "csi_page_type": "watch", "keywords": "14", "cr": "KR", "rv.1.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DLUs4UPyE2AI", "rv.6.thumbnailUrl": "http%3A%2F%2Fi4.ytimg.com%2Fvi%2FCjn_lrc2b_k%2Fdefault.jpg", "rv.1.id": "LUs4UPyE2AI", "rv.3.rating": "5.0", "rv.6.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+13%2F14", "fmt_list": "22%2F2000000%2F9%2F0%2F115%2C35%2F640000%2F9%2F0%2F115%2C34%2F0%2F9%2F0%2F115%2C5%2F0%2F7%2F0%2F0", "rv.7.id": "2rEfw1DEtts", "rv.1.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+1%2F14", "rv.1.thumbnailUrl": "http%3A%2F%2Fi1.ytimg.com%2Fvi%2FLUs4UPyE2AI%2Fdefault.jpg", "rv.6.length_seconds": "602", "rv.0.rating": "5.0", "watermark": "http%3A%2F%2Fs.ytimg.com%2Fyt%2Fswf%2Flogo-vfl106645.swf%2Chttp%3A%2F%2Fs.ytimg.com%2Fyt%2Fswf%2Fhdlogo-vfl100714.swf", "rv.6.author": "junjangsoh", "rv.5.id": "gfsJ3Eq_Zhs", "rv.4.author": "junjangsoh", "plid": "AASAfHyi-5gDThaQ", "rv.0.id": "POcCzju_kqk", "rv.3.length_seconds": "598", "rv.5.rating": "5.0", "rv.4.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DnHQokcqw2uw", "sdetail": "p%3A%2Fvideos", "fexp": "900023%2C901802", "rv.1.author": "junjangsoh", "rv.1.rating": "5.0", "rv.4.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+3%2F14", "rv.5.thumbnailUrl": "http%3A%2F%2Fi4.ytimg.com%2Fvi%2FgfsJ3Eq_Zhs%2Fdefault.jpg", "rv.5.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DgfsJ3Eq_Zhs", "rv.3.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+4%2F14", "sourceid": "y", "rv.0.author": "junjangsoh", "rv.3.thumbnailUrl": "http%3A%2F%2Fi2.ytimg.com%2Fvi%2Fi27PAb-w0AY%2Fdefault.jpg", "rv.2.author": "junjangsoh", "rv.6.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCjn_lrc2b_k", "rv.7.rating": "5.0", "rv.3.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Di27PAb-w0AY", "fmt_map": "22%2F2000000%2F9%2F0%2F115%2C35%2F640000%2F9%2F0%2F115%2C34%2F0%2F9%2F0%2F115%2C5%2F0%2F7%2F0%2F0", "hl": "en_US", "rv.7.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2rEfw1DEtts", "rv.2.view_count": "5454", "rv.4.length_seconds": "611", "rv.4.view_count": "7731", "rv.2.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DfmPjDH1sDfo", "rv.5.length_seconds": "600", "rv.0.thumbnailUrl": "http%3A%2F%2Fi1.ytimg.com%2Fvi%2FPOcCzju_kqk%2Fdefault.jpg", "fmt_stream_map": "22%7Chttp%3A%2F%2Fv20.lscache7.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Cratebypass%26fexp%3D900023%252C901802%26itag%3D22%26ipbits%3D0%26sver%3D3%26ratebypass%3Dyes%26expire%3D1267196400%26key%3Dyt1%26signature%3D0F25C849B5E0697E2708D7FDF90873CA778C1814.33DA1EEAD4CC9692C5613494A2C564133BF81595%26id%3D4cc64d5d6edc142b%2C35%7Chttp%3A%2F%2Fv21.lscache2.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D35%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D241955F71A0A876EC7B6DB78E3E792F66F3F21AD.309C4F50111292184108BB359CEEF7A9A86B918F%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C34%7Chttp%3A%2F%2Fv2.lscache8.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D34%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D6AE4B5BA71E0F02396287FFDA1DF821A6158B6AF.CB0891E42ADAB8317ECA61A64CF77DD79BE662AC%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C5%7Chttp%3A%2F%2Fv7.lscache3.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D5%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D5AD304AB9BCC13F8BD46205F6F5FD95EF491C5EB.AB6CB2D6EEAE16BAE8003D88D2628D4008065739%26factor%3D1.25%26id%3D4cc64d5d6edc142b", "sk": "AN-IBdoG6rDwqBQ2JAmJ7AiKj79qzYtCC", "rv.1.view_count": "25631", "rv.1.length_seconds": "596", "rv.6.rating": "5.0", "rv.5.author": "junjangsoh", "vq": "medium", "rv.3.id": "i27PAb-w0AY", "rv.2.id": "fmPjDH1sDfo", "rv.2.length_seconds": "600", "rv.5.view_count": "6470", "t": "vjVQa1PpcFNMsS2pAI26JfksbOObe4nVZu_ORw-B1v4%3D", "rv.6.id": "Cjn_lrc2b_k", "video_id": "TMZNXW7cFCs", "rv.6.view_count": "5377", "rv.3.author": "junjangsoh", "rv.4.id": "nHQokcqw2uw", "rv.7.view_count": "4854"},
            'SWF_GAM_URL': null,
            'SWF_DC_URL': null,
            'SWF_EXPRESS_URL': null,
            'SWF_AD_EURL': null,
            'SWF_IS_PLAYING_ALL': false,
            'SWF_SET_WMODE': false,

            'SHOW_AUTOSHARE': true,
            'IS_WIDESCREEN': false,
            'IS_HD_AVAILABLE': true,
            'WIDE_PLAYER_STYLES':         ["watch-wide-mode"]
,
            'EMBED_URL': 'http://www.youtube.com/v/TMZNXW7cFCs&hl=en_US&fs=1',
            'VIDEO_LANGUAGE': 'EN',
            'VIDEO_USERNAME': 'say2420',
            'PLAY_NEXT_FROM': '',
            'PLAY_NEXT_COUNT': '0',
            'QL_AUTOSCROLL_DEST': 0,
            'LOCALE': 'en_US',
            'AXC': '',
            'SUBSCRIBE_AXC': '',

            'PLAYER_SAVE_QUALITY': true,

            'COMMENTS_THRESHHOLD': -5,
            'COMMENTS_FILTER': 0,
            'COMMENTS_PAGE_SIZE': 10,
            'COMMENTS_MAX_PAGE': 1,
            'COMMENTS_COUNT': 4,

            'IS_BRANDED_WATCH': false
        });

아무튼 저넘의 fmt_url_map을 들여다보자!
"22%7Chttp%3A%2F%2Fv20.lscache7.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Cratebypass%26fexp%3D900023%252C901802%26itag%3D22%26ipbits%3D0%26sver%3D3%26ratebypass%3Dyes%26expire%3D1267196400%26key%3Dyt1%26signature%3D0F25C849B5E0697E2708D7FDF90873CA778C1814.33DA1EEAD4CC9692C5613494A2C564133BF81595%26id%3D4cc64d5d6edc142b%2C35%7Chttp%3A%2F%2Fv21.lscache2.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D35%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D241955F71A0A876EC7B6DB78E3E792F66F3F21AD.309C4F50111292184108BB359CEEF7A9A86B918F%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C34%7Chttp%3A%2F%2Fv2.lscache8.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D34%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D6AE4B5BA71E0F02396287FFDA1DF821A6158B6AF.CB0891E42ADAB8317ECA61A64CF77DD79BE662AC%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C5%7Chttp%3A%2F%2Fv7.lscache3.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D5%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D5AD304AB9BCC13F8BD46205F6F5FD95EF491C5EB.AB6CB2D6EEAE16BAE8003D88D2628D4008065739%26factor%3D1.25%26id%3D4cc64d5d6edc142b"

무언의 규칙성이 느껴지지 않는가!?
그렇다면 치환을 고고싱~

%7C 는 |
%3A 는 :
%2F 는 /
%3F 는 ?
%26 는 &
%25 는 %
%2C 는 ,
%3D 는 =

이므로 치환을 하면

"22|http://v20.lscache7.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass&fexp=900023%2C901802&itag=22&ipbits=0&sver=3&ratebypass=yes&expire=1267196400&key=yt1&signature=0F25C849B5E0697E2708D7FDF90873CA778C1814.33DA1EEAD4CC9692C5613494A2C564133BF81595&id=4cc64d5d6edc142b

,35|http://v21.lscache2.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=900023%2C901802&algorithm=throttle-factor&itag=35&ipbits=0&burst=40&sver=3&expire=1267196400&key=yt1&signature=241955F71A0A876EC7B6DB78E3E792F66F3F21AD.309C4F50111292184108BB359CEEF7A9A86B918F&factor=1.25&id=4cc64d5d6edc142b

,34|http://v2.lscache8.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=900023%2C901802&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1267196400&key=yt1&signature=6AE4B5BA71E0F02396287FFDA1DF821A6158B6AF.CB0891E42ADAB8317ECA61A64CF77DD79BE662AC&factor=1.25&id=4cc64d5d6edc142b

,5|http://v7.lscache3.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=900023%2C901802&algorithm=throttle-factor&itag=5&ipbits=0&burst=40&sver=3&expire=1267196400&key=yt1&signature=5AD304AB9BCC13F8BD46205F6F5FD95EF491C5EB.AB6CB2D6EEAE16BAE8003D88D2628D4008065739&factor=1.25&id=4cc64d5d6edc142b"

의 내용이 나오게 된다.
아무튼 http:// 부터 클릭하면 다운로드를 하게 된다.
22>18 순으로 H.264를 지원하는 해상도 이므로 적절하게 다운로드!



2010/01/26 - [프로그램 사용/VLC] - VLC로 youtube 동영상 감상하기

신고
Posted by 구차니

댓글을 달아 주세요

  1. 오호라....ㅋㅋㅋ 재밌네요... ㅋㅋㅋ

    2010.02.27 11:09 신고 [ ADDR : EDIT/ DEL : REPLY ]
  2. 후럴! 뭐가 이리 복잡한가요?@.@
    (때려쳐!때려쳐!)

    2010.03.06 19:10 신고 [ ADDR : EDIT/ DEL : REPLY ]
  3. 좋은 내용 감사합니당. 덕분에 java 코드를 고칠 수 있었어요 ㅎ

    2014.08.18 13:30 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 오래전 글인데 여전히 동일한 방법으로 내용을 넣어두고 있나보네요 ^^
      그리고 이런건.. 댓글로 다시는 것도 좋지만 트랙백으로 해당 링크를 거는 것도 방법입니다 ^^

      좋은하루 되세요~!

      2014.08.18 14:00 신고 [ ADDR : EDIT/ DEL ]