728x90
반응형
/**
* 크로스 도메인 우회처리
* @param map
* @return
*/
public static String processHTTP(Map<String,String> params ) throws Exception
{
int statusCode = 0;
String url= params.get("url");
logger.debug("url : " + url);
CloseableHttpClient httpclient = HttpClientBuilder.create().build();
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> nvps = makeParams(params);
try {
httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded; text/html; charset=UTF-8");
httpPost.setHeader("Cache-Control", "no-cache");
// 한글 인코딩을 위하여 인코딩 정보를 설정한다.
httpPost.setEntity(new UrlEncodedFormEntity(nvps, DEFAULT_ENCODING));
CloseableHttpResponse response = httpclient.execute(httpPost);
statusCode = response.getStatusLine().getStatusCode();
logger.debug("\nSending 'POST' request to URL : " + httpPost.getURI());
logger.debug("Post parameters : " + httpPost.getEntity().toString());
logger.debug("Response Code : " + statusCode );
if( statusCode == 200){
// 정상인 경우 메시지를 읽어 들여 그 결과를 리턴한다.
BufferedReader rd = new BufferedReader( new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
return result.toString();
}
} catch (Throwable e) {
throw new HttpException((new StringBuilder("오류가 발생하였습니다.")).append(statusCode).toString());
}
if( statusCode != 200)
{
throw new HttpException((new StringBuilder("오류가 발생하였습니다.")).append(statusCode).toString());
}
return "";
}
public static List<NameValuePair> makeParams(Map<String,String> params) throws Exception {
int hashSize = params.size();
Iterator keyset = params.keySet().iterator();
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
for (int i = 0; i < hashSize; i++) {
String key = (String) keyset.next();
if(!key.equals("DataSetRowType") && !key.equals("url")) {
nvps.add(new BasicNameValuePair(key, EgovStringUtil.nvl(params.get(key)) ));
}
}
return nvps;
}
728x90
반응형
'프로그램 > 자바' 카테고리의 다른 글
자바 cors 우회하기 get,post방식 (0) | 2022.07.12 |
---|---|
자바 랜덤 API 암호화 BASE64 KEY 생성 (0) | 2022.01.13 |
자바로 PWA PUSH 만들기 (0) | 2021.08.06 |
기본 Java 타입과 DB 필드 매핑 (0) | 2021.08.04 |
사용자 정의 컬럼 추가하기 (0) | 2021.05.25 |
댓글