환경변수는 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임이다.
일단 이번엔 환경변수를 통해 남들이 봐선 안될 값을 숨기는 역할로 사용해보자.
외부에 공유되면 안되는 것은 간단한 예로 유료 api인증키 같은 것이 있을 것이다.
그런게 코드에 적혀있으면 사이트에 코드를 올리거나 공유할 때 내 인증키를 이용해버리는 불상사가 있기 때문에 환경변수를 사용하여 다른사람들이 모르게 해야한다.
나는 파이참에서 환경변수를 설정하는 법을 작성하려 하니, 다른 툴에서 설정하려하면 따로 검색해보길 바란다.
예제는 저번 예제를 사용하겠다.
import requests
api_key = "229c0ba45be476a333e8799b9a1dd83f"
LATITUDE = 35.907757
LONGITUDE = 127.766922
parameter = {
"lat": LATITUDE,
"lon": LONGITUDE,
"appid": api_key
}
response = requests.get(url="api.openweathermap.org/data/2.5/forecast", params=parameter)
print(response.status_code)
여기서 api_key값이 노출되면 안되기 때문에 해당 키 값을 환경변수로 설정하여 코드에서 감추려한다.
메뉴->Run->Edit Configyrations 클릭
Environment varialbles:
PYTHONUNBUFFERED=1 옆에 메모장 같이 생긴 버튼 클릭
+버튼 클릭 후 변수 이름 지정 후, Value에 api_key값 넣기
이제 api키 값을 환경변수로 가져왔으니 해당 환경변수를 가져옴과 동시에 코드에 적힌 환경변수를 지울 차례이다.
import requests
import os
api_key = os.environ.get("OWN_KEY")
print(api_key)
LATITUDE = 35.907757
LONGITUDE = 127.766922
parameter = {
"lat": LATITUDE,
"lon": LONGITUDE,
"appid": api_key
}
response = requests.get(url="https://api.openweathermap.org/data/2.5/forecast", params=parameter)
print(response.status_code)
환경변수를 가져오기 위해선 os를 import해야한다.
그 다음 api_key에 os.environ.get("OWN_KEY")함수를 이용하여 방금 저장한 환경변수안의 값을 가져왔다.
그리고 잘 들어왔는지 확인하기 위해 print로 api_key내부 값을 확인했다.
- 출력값
229c0ba45be476a333e8799b9a1dd83f
200
정상적으로 키 값이 들어갔고, 또 그 값을 이용해 정상적으로 api데이터를 받아왔다.
'파이썬' 카테고리의 다른 글
HTTP 헤더와 post, put, delete requests (0) | 2023.08.12 |
---|---|
파이썬 API 인증 (0) | 2023.08.10 |
파이썬 API 사용 (0) | 2023.08.08 |
파이썬으로 메일 발송 (0) | 2023.08.08 |
JSON(dump, load, update) (0) | 2023.08.04 |