๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿค2024 ์•ˆ๋“œ๋กœ์ด๋“œ/๐Ÿ™†‍โ™€๏ธ 2024 ์บก์Šคํ†ค ๋””์ž์ธ ๊ธฐ๋ก

๊ณต๊ณต๋ฐ์ดํ„ฐ e์•ฝ์€์š”? ์—ฐ๋™ ์ค‘ ์„œ๋น„์Šค ํ‚ค ๋“ฑ๋ก ์•ˆ๋จ ๋ฌธ์ œ ํ•ด๊ฒฐ ๊ณผ์ •

by hyeonha 2024. 6. 19.

๋ชฉ์ฐจ

    ์„œ๋น„์Šค ํ‚ค ๋“ฑ๋ก ์•ˆ๋จ ์—๋Ÿฌ 

    api ํ˜ธ์ถœ์„ ์‹œ๋„ํ•˜๋Š” ๊ณผ์ •์—์„œ service key๊ฐ€ ๋“ฑ๋ก๋˜์–ด์žˆ์ง€ ์•Š๋‹ค๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. 

    ??????

    ์ด๊ฒŒ ๋งค๋ฒˆ ์—๋Ÿฌ๊ฐ€ ๋œจ๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๊ณ  ์–ด์ฉ” ๋•Œ๋Š” ์ •์ƒ ์ž‘๋™ํ•˜๋‹ค๊ฐ€ ์–ด๋–ค ๋•Œ์—๋Š” ๋˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์—ˆ๋‹ค.

    ๋ฐœ๊ธ‰๋ฐ›์€ ๊ณต๊ณต๋ฐ์ดํ„ฐ ํฌํ„ธ ์ธ์ฆํ‚ค๋ฅผ ๋ณต์‚ฌ ๋ถ™์—ฌ๋„ฃ๊ธฐํ•ด์„œ ๋„ฃ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜คํƒ€๊ฐ€ ์žˆ๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ์—ˆ๋‹ค. ์ •์ƒ ์ž‘๋™์ด ๋  ๋•Œ๋„ ์žˆ์œผ๋‹ˆ๊นŒ!! 

    ๊ทธ๋Ÿผ ๋„๋Œ€์ฒด ๋ญ๊ฐ€ ๋ฌธ์ œ์ผ๊นŒ?


    ๐Ÿ•ต๏ธ ๋ฌธ์ œ ๋ฐœ๊ฒฌ! 

    ์—๋Ÿฌ๊ฐ€ ๋œฐ ๋•Œ ํ˜ธ์ถœ๋œ ๊ฒฝ๋กœ๋ฅผ ํƒ€๊ณ  ๋“ค์–ด๊ฐ€๋ณด๋‹ˆ  ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋“ค์–ด๊ฐ€๋Š” ์„œ๋น„์Šค ํ‚ค๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋“ค์–ด๊ฐ€๊ณ  ์žˆ์Œ์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค!

    ์‹ค์ œ ์„œ๋น„์Šค ํ‚ค์—๋Š” 25 ๋ผ๋Š” ์ˆ˜๋Š” ์—†๋Š”๋ฐ, ์‹ค์ œ๋กœ api ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋“ค์–ด๊ฐ€๋Š” ์„œ๋น„์Šค ํ‚ค๋Š” 253D๋กœ ๋“ค์–ด๊ฐ€๊ณ  ์žˆ์—ˆ๋‹ค.

     

    api ํ˜ธ์ถœ ์‹œ ๋“ค์–ด๊ฐ€๋Š” ์„œ๋น„์Šค ํ‚ค ์ผ๋ถ€  :  %253D%253D

    ์‹ค์ œ ์„œ๋น„์Šค ํ‚ค  : %3D%3D

     


     

    ๊ณต๊ณต ๋ฐ์ดํ„ฐ ํฌํ„ธ์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด 2์ข…๋ฃŒ์˜ ์ธ์ฆํ‚ค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

    ํ•˜๋‚˜๋Š” URL์—์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์ธ์ฝ”๋”ฉ๋œ ์ธ์ฆํ‚ค์™€ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์ธ์ฝ”๋”ฉ๋˜์ง€ ์•Š์€ ์›๋ณธ ์ธ์ฆํ‚ค์ด๋‹ค.

     

     

    ์ธ์ฝ”๋”ฉ ๋””์ฝ”๋”ฉ์ด๋ž€?

    ์ธ์ฝ”๋”ฉ์ด๋ž€ ์ •ํ•ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ์„œ ์ฝ”๋“œํ™”, ์•”ํ˜ธํ™”, ๋ถ€ํ˜ธํ™” ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

     

    " ๋‚˜ ์น˜ํ‚จ ๋จน๊ณ ์‹ถ์–ด" ๋ผ๋Š” ๋ง์„ ๋‚ด ์นœ๊ตฌ๋งŒ ์•Œ์•„๋“ค์„ ์ˆ˜ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ์–ด! ๋ผ๊ณ  ํ•˜๋ฉด "๋‚˜ ์น˜ํ‚จ ๋จน๊ณ ์‹ถ์–ด" ๋ผ๋Š” ๋ง์„ encodingํ•˜๊ณ , ์ฝ”๋“œํ™”๋œ (์ธ์ฝ”๋”ฉ๋œ) ๋ง์„ ์นœ๊ตฌ๋Š” ์„œ๋กœ ๊ณต์œ ํ•œ ๊ทœ์น™์— ๋”ฐ๋ผ decoding ํ•ด์ฃผ๋ฉด ๋œ๋‹ค

     

    ๋‚˜์˜ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ์„œ๋น„์Šค ํ‚ค๋ฅผ string์œผ๋กœ ๋„˜๊ธฐ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ž๋™์œผ๋กœ ์ธ์ฝ”๋”ฉ์ด ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— ์ธ์ฝ”๋”ฉ ์ธ์ฆํ‚ค๊ฐ€ ์•„๋‹ˆ๋ผ ๋””์ฝ”๋”ฉ๋œ ์ธ์ฆํ‚ค๋ฅผ ๋„˜๊ฒจ์ค˜์•ผํ•œ๋‹ค! 

    ๋งŒ์•ฝ ๊ทธ๋ƒฅ ์ธ์ฝ”๋”ฉ ๋œ ์ธ์ฆํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ•œ ๋ฒˆ ๋” ์ธ์ฝ”๋”ฉ์ด ์ผ์–ด๋‚˜ ์ œ๊ณต๋œ ์„œ๋น„์Šค ํ‚ค์™€ ์ธ์ฆํ‚ค๊ฐ€ ๋‹ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค.

    ๊ทธ๋ž˜์„œ ๊ณ„์† ๋“ฑ๋ก๋˜์–ด์žˆ์ง€ ์•Š์€ ์„œ๋น„์Šค ํ‚ค๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด์—ˆ๋‹ค.


    ํ•ด๊ฒฐ

    1. ์ธ์ฝ”๋”ฉ๋œ ์ธ์ฆํ‚ค๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ

    ๋งŒ์•ฝ ์ธ์ฝ”๋”ฉ๋œ ์ธ์ฆํ‚ค๋ฅผ ์ด์šฉํ•˜๋ ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด URLDecoder ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ์ธ์ฆํ‚ค๋ฅผ ๋””์ฝ”๋”ฉํ•ด์ค€ ํ›„ ์ด serviceKey๋ฅผ api ํ˜ธ์ถœ ์‹œ์— ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

    val serviceKey = URLDecoder.decode(SERVICE_KEY, "UTF-8")
    

     

    2. ๋””์ฝ”๋”ฉ๋œ ์ธ์ฆํ‚ค๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ

    companion object {
        const val SERVICE_KEY = "๋””์ฝ”๋”ฉ๋œ ์ธ์ฆํ‚ค"
    }

     

    ์œ„์™€ ๊ฐ™์ด SERVICE_KEY ๋ฅผ ์ •์˜ํ•ด๋‘๊ณ   api ํ˜ธ์ถœ์‹œ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋„˜๊ฒจ์ฃผ๋ฉด ๋œ๋‹ค . 


    ๋‚˜๋Š” 2๋ฒˆ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด์ฃผ์—ˆ๋‹ค.

     

     

    728x90