import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import org.codehaus.jackson.JsonParseException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import com.google.gson.GsonBuilder;
import com.skt.ssp.domain.Consts;
import com.skt.ssp.domain.contents.Contents;
import com.skt.ssp.domain.intelligence.IntellgentceConsts;
import com.skt.ssp.intelligence.service.batch.BatchService;
try
{
Map<String, Object> jsonParamMap = getJsonParamVideo( contents );
String sourceUrl = "http://211.23.3.42:18000/api/encoder.do";
// Connect
URL url = new URL( sourceUrl );
conn = (HttpURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", IntellgentceConsts.CONTENT_TYPE);
conn.setRequestProperty("Accept", IntellgentceConsts.CONTENT_TYPE);
conn.setRequestMethod(IntellgentceConsts.REQUEST_METHOD);
conn.setConnectTimeout(5000);
conn.connect();
// write
os = conn.getOutputStream();
String stringParam = new GsonBuilder().create().toJson( jsonParamMap, Map.class );
bw = new BufferedWriter(new OutputStreamWriter( os, IntellgentceConsts.CHARSET_UTF8 ) );
bw.write( stringParam );
bw.close();
os.close();
logger.info("Result Code : "+ conn.getResponseCode() );
logger.info("Result Message : "+ conn.getResponseMessage() );
}
catch (JsonParseException je)
{
je.getMessage();
logger.info("je.getMessage():"+je.getMessage());
}
catch (IOException ie)
{
logger.error("n", ie);
logger.error("IOException result = ["+ ie.getMessage() + "]");
}
catch (Exception e)
{
logger.error("n", e);
}
finally
{
if ( os != null ) try{os.close();}catch(IOException e){
logger.info("[ERROR] IOException e : " + e.getMessage());
}
if ( bw != null ) try{bw.close();}catch(IOException e){
logger.info("[ERROR] BufferedWriter IOException e : " + e.getMessage());
}
conn.disconnect();
}
자바에서 http 통신으로 동영상 인코딩을 요청하고 값을 받아와야 하는 작업을 하게 되어
HttpURLConnectiond으로 호출하고 response 받는 소스를 개발했습니다.
자바 샘플이 없어서 여기저기 뒤져서 작업하느라고 시간이 좀 걸렸네요.
필요하신 분들을 위해 샘플소스를 올려봅니다.
HttpURLConnectiond으로 호출하고 response 받는 소스를 개발했습니다.
자바 샘플이 없어서 여기저기 뒤져서 작업하느라고 시간이 좀 걸렸네요.
필요하신 분들을 위해 샘플소스를 올려봅니다.
'프로그래밍 언어 > java + jsp + jstl' 카테고리의 다른 글
[java] 자바에서 DecimalFormat으로 소수점 자리수 표시하기 (0) | 2016.09.05 |
---|---|
[java] 자바에서 파일(File)이름 변경(이동)하기 (1) | 2016.09.01 |
[java] 자바에서 String을 json 객체로 변환하는 방법 (4) | 2016.08.19 |
[JSTL] replace 함수로 개행문자 줄바꿈처리하기 (0) | 2016.07.28 |
[java] java decompiler인 jad 파일 다운로드 및 사용법(class 파일을 java로 변환) (0) | 2016.01.25 |
댓글