/* Java Sample */
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.io.BufferedReader;
import java.io.IOException;
public class openApi {
public static void main(String[] args) throws IOException {
StringBuilder urlBuilder = new StringBuilder("http://api.kcisa.kr/openapi/API_CCA_159/request"); /*URL*/
urlBuilder.append("?" + URLEncoder.encode("serviceKey","UTF-8") + "=서비스키"); /*서비스키*/
urlBuilder.append("&" + URLEncoder.encode("numOfRows","UTF-8") + "=" + URLEncoder.encode("세션당 요청레코드수", "UTF-8")); /*세션당 요청레코드수*/
urlBuilder.append("&" + URLEncoder.encode("pageNo","UTF-8") + "=" + URLEncoder.encode("페이지수", "UTF-8")); /*페이지수*/
urlBuilder.append("&" + URLEncoder.encode("keyword","UTF-8") + "=" + URLEncoder.encode("검색어", "UTF-8")); /*검색어*/
URL url = new URL(urlBuilder.toString());
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-type", "application/json");
//json type으로 응답받고 싶을 때는 아래 주석을 제거하시고 사용바랍니다.
//conn.setRequestProperty("Accept","application/json");
System.out.println("Response code: " + conn.getResponseCode());
BufferedReader rd;
if(conn.getResponseCode() >= 200 && conn.getResponseCode() <= 300) {
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
rd = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
}
StringBuilder sb = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
sb.append(line);
}
rd.close();
conn.disconnect();
System.out.println(sb.toString());
}
}
/* Javascript Sample*/
var xhr = new XMLHttpRequest();
var url = 'http://api.kcisa.kr/openapi/API_CCA_159/request'; /*URL*/
var queryParams = '?' + encodeURIComponent('serviceKey') + '=' + '서비스키'; /*서비스키*/
queryParams += '&' + encodeURIComponent('numOfRows') + '=' + encodeURIComponent('세션당 요청레코드수'); /*세션당 요청레코드수*/
queryParams += '&' + encodeURIComponent('pageNo') + '=' + encodeURIComponent('페이지수'); /*페이지수*/
queryParams += '&' + encodeURIComponent('keyword') + '=' + encodeURIComponent('검색어'); /*검색어*/
xhr.open('GET', url + queryParams);
xhr.onreadystatechange = function () {
if (this.readyState == 4) {
console.log('status: ' + this.status);
console.log('resultCode: ' + $(this.responseText).find('resultCode').text());
console.log('resultMsg: ' + $(this.responseText).find('resultMsg').text());
var item = $(this.responseText).find('item');
$(item).each(function(){
console.log("TITLE" + $(this).find("TITLE").text());
console.log("ALTERNATIVE_TITLE" + $(this).find("ALTERNATIVE_TITLE").text());
console.log("ISSUED_DATE" + $(this).find("ISSUED_DATE").text());
console.log("SUBJECT_KEYWORD" + $(this).find("SUBJECT_KEYWORD").text());
console.log("FORMAT" + $(this).find("FORMAT").text());
console.log("DESCRIPTION" + $(this).find("DESCRIPTION").text());
console.log("LANGUAGE" + $(this).find("LANGUAGE").text());
console.log("LOCAL_ID" + $(this).find("LOCAL_ID").text());
console.log("UCI" + $(this).find("UCI").text());
console.log("URL" + $(this).find("URL").text());
console.log("TEMPORAL_COVERAGE" + $(this).find("TEMPORAL_COVERAGE").text());
console.log("SPATIAL_COVERAGE" + $(this).find("SPATIAL_COVERAGE").text());
console.log("GENRE" + $(this).find("GENRE").text());
console.log("DURATION" + $(this).find("DURATION").text());
console.log("ACTOR" + $(this).find("ACTOR").text());
console.log("PUBLISHER" + $(this).find("PUBLISHER").text());
console.log("AUDIENCE" + $(this).find("AUDIENCE").text());
console.log("DIRECTOR" + $(this).find("DIRECTOR").text());
console.log("CNTC_INSTT_NM" + $(this).find("CNTC_INSTT_NM").text());
});
};
}
xhr.send('');