요약
공공데이터 포털의 환경공단_전기자동차 충전소 정보 API를 C#에서 보는 방법에 대해 작성해보겠습니다.
🍺 예제 코드
// C# 샘플 코드
using System;
using System.Net;
using System.Net.Http;
using System.IO;
namespace ConsoleApp1
{
class Program
{
static HttpClient client = new HttpClient();
static void Main(string[] args)
{
string url = "http://apis.data.go.kr/B552584/EvCharger/getChargerInfo"; // URL
url += "?ServiceKey=" + "서비스키"; // Service Key
url += "&pageNo=1";
url += "&numberOfRows=20";
url += "&dataType=xml";
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
string results = string.Empty;
HttpWebResponse response;
using (response = request.GetResponse() as HttpWebResponse)
{
StreamReader reader = new StreamReader(response.GetResponseStream());
results = reader.ReadToEnd();
}
Console.WriteLine(results);
}
}
}
아래는 출력의 결과입니다. 지역코드와 설정에 따라 내용은 달라 질 수 있습니다.
🍺 xml 출력 결과
<response>
<header>
<resultCode>00</resultCode>
<resultMsg>NORMAL SERVICE.</resultMsg>
<totalCount>213227</totalCount>
<pageNo>1</pageNo>
<numOfRows>20</numOfRows>
</header>
<body>
<items>
<item>
<statNm>노보텔</statNm>
<statId>ME174001</statId>
<chgerId>01</chgerId>
<chgerType>06</chgerType>
<addr>서울특별시 강남구 봉은사로 130</addr>
<location>null</location>
<lat>37.5052721</lat>
<lng>127.0289991</lng>
<useTime>24시간 이용가능</useTime>
<busiId>ME</busiId>
<bnm>환경부</bnm>
<busiNm>환경부</busiNm>
<busiCall>1661-9408</busiCall>
<stat>9</stat>
<statUpdDt>20230215102310</statUpdDt>
<lastTsdt>20230215025748</lastTsdt>
<lastTedt>20230215034106</lastTedt>
<nowTsdt/>
<powerType/>
<output>50</output>
<method>단독</method>
<zcode>11</zcode>
<zscode>11680</zscode>
<kind>E0</kind>
<kindDetail>E003</kindDetail>
<parkingFree>N</parkingFree>
<note/>
<limitYn>N</limitYn>
<limitDetail/>
<delYn>N</delYn>
<delDetail/>
<trafficYn>N</trafficYn>
</item>
<item>
...
</item>
...
</items>
</body>
</response>
HttpClient는 HTTP 요청을 보내고 응답을 받는 데 사용됩니다.
예를 들어, 공공 데이터 포털에서 제공하는 전기차 충전소 API를 활용해보겠습니다. 해당 API를 호출하면 전국의 전기차 충전소 정보를 XML 또는 JSON 형태로 받을 수 있습니다.
우선 HttpClient 클래스를 사용하기 위해 System.Net.Http 네임스페이스를 using 문으로 가져옵니다. 그리고 HttpClient 객체를 생성합니다.
API 호출에 필요한 URL과 파라미터를 문자열로 작성합니다. 이때, URL과 파라미터는 각각 문자열 변수에 저장합니다.
HttpRequestMessage 클래스를 사용하여 HTTP 요청 메시지를 생성합니다. 이때, HTTP 메서드는 GET 방식을 사용합니다.
HttpClient 객체의 SendAsync 메서드를 사용하여 HTTP 요청을 보내고, HTTP 응답을 받습니다.
응답 본문은 HTTP 응답 객체의 Content 속성을 사용하여 가져올 수 있습니다. 응답 본문의 형식에 따라 적절한 방식으로 처리하면 됩니다.
이렇게 C#에서 API를 호출하면서 다른 서비스의 기능을 활용할 수 있습니다. 다양한 API를 활용하여 개발을 진행할 때는 API 문서를 잘 읽어보고, 요청과 응답 본문의 형식을 잘 파악하여 적절한 방식으로 처리해야 합니다.
'코딩 > C#' 카테고리의 다른 글
[C#] 엑셀처럼 정렬하기 나머지 행들을 같이 정렬하는 방법 (0) | 2023.04.02 |
---|---|
[C#] 2중 리스트 사용하는 방법 (0) | 2023.04.02 |
[C#] .csv 파일 읽기 쓰기 (0) | 2023.04.02 |
[C#] string 특정 문자 포함 합치기 [string.Join()] (0) | 2023.04.02 |
[C#] List 데이터 정렬 하는 방법 (0) | 2023.04.02 |