@Override
protected Response doInBackground(Request... requests) {
HttpURLConnection conn = null;
Response response = new Response();
String strUrl = "https://hy5874.execute-
api.amazonaws.com/dev";
Request request = requests[0];
try {
URL url = new URL(strUrl);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", request.getContentType());
conn.setRequestProperty("Accept", request.getUserAgent());
conn.setConnectTimeout(10000);
conn.setReadTimeout(10000);
conn.setDoInput(true);
conn.setDoOutput(true);
OutputStream os = conn.getOutputStream();
os.write(request.getJsonData().getBytes("euc-kr"));
os.flush();
os.close();
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
response.setResponseCode(responseCode);
} else {
response.setError(true);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
response.setError(true);
} catch (ProtocolException e) {
e.printStackTrace();
response.setError(true);
} catch (MalformedURLException e) {
e.printStackTrace();
response.setError(true);
} catch (IOException e) {
e.printStackTrace();
response.setError(true);
} finally {
if (conn != null) {
conn.disconnect();
}
}
return response;
}
이런식으로 네트워트 통신을 코딩했는데 아래처럼 오류가 나네요 분명히
disconnect와 close도 다한거 같은데 뭐가 문제죠?
W/OkHttpClient: A connection to https://hy5874.execute-api.amazonaws.com/
was leaked. Did you forget to close a response body?