Open API란 방대한 양의 데이터를 API를 통해 전송 받을 수 있는 서비스를 말합니다.
대표적으로 아래와 같은 서비스들이 있습니다.
예제)
OpenWeather API를 통해 한 도시의 현재 날씨 데이터를 요청하는 것으로 예시를 들어 보겠습니다.
http://api.openweathermap.org/data/2.5/weather?appid=test88test99test00test123&q=seoul&units=metric
? : 쿼리("나 이런 데이터 줘"라고 질문하는 것)가 시작됨을 나타내는 마크
? 뒤에 원하는 정보를 얻기 위한 인자값들을 "인자명=인자값"의 형태로 적어주고 여러개의 인자를 넣을 때는 "인자명1=인자값&인자명2=인자값"과 같이 &로 연결
appid : open API를 사용할 때는 보통 간단한 서비스 회원가입을 거쳐서 서비스를 이용하기 위한 고유의 API key를 발급 받아야 합니다. 이 키가 있어야 요청한 데이터를 받을 수 있습니다.
(서비스 마다 API key에 대한 인자명이 다를 수 있음. appid가 아니라 다른 이름일 수 도 있다는 뜻)
q : 데이터를 요청할 도시 이름을 인자값으로 넣습니다. 여기서는 서울을 입력하였습니다.
units : 원하는 단위의 기준을 인자값으로 넣습니다. 기본 데이터의 단위가 Kelvin 단위이기에 우리나라에서 사용하는 미터법 단위(metric)를 입력하였습니다.
위와 같이 URL을 잘 입력하여 요청을 보내면 OpenWeather API 서비스에서는 아래와 같은 JSON 형식의 파일을 보내줍니다.
// JSON 형식의 파일
{
"coord": {
"lon": 126.98,
"lat": 37.57
},
"weather": [
{
"id": 501,
"main": "Rain",
"description": "moderate rain",
"icon": "10n"
},
{
"id": 741,
"main": "Fog",
"description": "fog",
"icon": "50n"
}
],
"base": "stations",
"main": {
"temp": 5.72,
"pressure": 1022,
"humidity": 100,
"temp_min": 2,
"temp_max": 10
},
"visibility": 800,
"wind": {
"speed": 0.5,
"deg": 80
},
"clouds": {
"all": 75
},
"dt": 1575907113,
"sys": {
"type": 1,
"id": 5501,
"country": "KR",
"sunrise": 1575930933,
"sunset": 1575965628
},
"timezone": 32400,
"id": 1835848,
"name": "Seoul",
"cod": 200
}
'Network' 카테고리의 다른 글
HTTP (0) | 2019.12.12 |
---|---|
Socket (0) | 2019.12.12 |
OSI 7계층 (0) | 2019.12.12 |
URL, DNS, PortNumber (0) | 2019.12.12 |