У меня проблема с HttpsURLConnection, которую я не могу решить. В принципе, я m отправляет некоторую информацию на сервер, и если некоторые из этих данных неверны, сервер отправляет мне код ответа 500. Однако он также отправляет сообщение в ответе, сообщающее мне, какой бит данных был неправильным. Проблема в том, что сообщение всегда пустое, когда я его читаю. Я думаю, это потому, что исключение filenotfound всегда генерируется до того, как поток может быть прочитан. Я прав? Я также пробовал читать поток ошибок, но он всегда пуст. Вот фрагмент:
conn = (HttpsURLConnection) connectURL.openConnection();
conn.setDoOutput(true);
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Length",
Integer.toString(outString.getBytes().length));
DataOutputStream wr = new DataOutputStream(conn
.getOutputStream());
wr.write(outString.getBytes());
wr.flush();
wr.close();
if(conn.getResponseCode>400{
String response = getErrorResponse(conn);
public String getErrorResponse(HttpsURLConnection conn) {
Log.i(TAG, "in getResponse");
InputStream is = null;
try {
//is = conn.getInputStream();
is = conn.getErrorStream();
// scoop up the reply from the server
int ch;
StringBuffer sb = new StringBuffer();
while ((ch = is.read()) != -1) {
sb.append((char) ch);
}
//System.out.println(sb.toString());
return sb.toString();
// return conferenceId;
}
catch (Exception e){
e.printStackTrace();
}
}