<%@page import="java.io.InputStreamReader"%> <%@page import="java.io.BufferedReader"%> <%@page import="org.apache.http.HttpResponse"%> <%@page import="org.apache.http.client.methods.HttpPost"%> <%@page import="org.apache.http.impl.client.HttpClients"%> <%@page import="org.apache.http.client.HttpClient"%> <%@page import="org.apache.http.HttpEntity"%> <%@page import="java.net.URLEncoder"%> <%@page import="org.apache.http.entity.ContentType"%> <%@page import="org.apache.http.entity.mime.content.FileBody"%> <%@page import="java.io.File"%> <%@page import="java.util.Iterator"%> <%@page import="java.nio.charset.Charset"%> <%@page import="org.apache.http.entity.mime.HttpMultipartMode"%> <%@page import="org.apache.http.entity.mime.MultipartEntityBuilder"%> <%@page import="java.util.HashMap"%> <%@page import="java.util.Map"%> <%@ page language="java" contentType="text/html; charset=utf-8 " pageEncoding="utf-8"%> <% try{ //기본 설정값 final String encodingType = "UTF-8"; final String boundary = "__BDR__"; //회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용해주세요 //실제서비스용 //final String mberId = "goodgkdus"; //문자온 로그인 아이디 //final String apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key //테스트용 String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디 String apiKey = request.getParameter("p_apiKey"); //발급받은 api key /******************** 전송요청 URL ********************/ //final String apiUrl = "https://api.munjaon.co.kr/api/inqry/hstry"; final String apiUrl = "http://localhost:8088/api/inqry/hstry"; /**************** 발송가능건수 예제 ******************/ System.out.println("전체발송이력"); Map params = new HashMap(); /******************** 인증정보 ********************/ params.put("mberId", mberId); //문자온 로그인 아이디 params.put("accessKey", apiKey); //APIKEY /******************** 전송정보 ********************/ //(선택) String p_page = request.getParameter("p_page"); //페이지번호 기본-1 String p_pageSize = request.getParameter("p_pageSize"); //페이지당 출력갯수-30(30~500) String p_startDate = request.getParameter("p_startDate"); //조회시작일자-기본값 오늘 String p_endDate = request.getParameter("p_endDate"); //조회마감일자-기본값 내일 String p_testYn = request.getParameter("p_testYn"); //테스트데이터여부 '', 'YF', 'YS' //추가 전송 데이터 params.put("page" , p_page); //페이지번호 params.put("pageSize" , p_pageSize); //페이지당 출력갯수 params.put("startDate" , p_startDate); //시작일자 params.put("endDate" , p_endDate); //마감일자 params.put("test_yn" , p_testYn); //테스트 여부 String result = ""; MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setBoundary(boundary); builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); builder.setCharset(Charset.forName(encodingType)); for(Iterator i = params.keySet().iterator(); i.hasNext();){ String key = i.next(); //전달값이 없는 경우 오류 try{ builder.addTextBody(key, params.get(key) , ContentType.create("Multipart/related", encodingType)); }catch(Exception ex){ //ex.printStackTrace() } } HttpEntity entity = builder.build(); HttpClient client = HttpClients.createDefault(); HttpPost post = new HttpPost(apiUrl); post.setEntity(entity); HttpResponse res = client.execute(post); if(res != null){ BufferedReader in = new BufferedReader(new InputStreamReader(res.getEntity().getContent(), encodingType)); String buffer = null; while((buffer = in.readLine())!=null){ result += buffer; } in.close(); } out.print(result); }catch(Exception e){ out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}"); } %>