Максимальная длина контента?
я пытаюсь соединиться с сервером, используяHttpURLConnection
, но у меня проблема с методом PUT.
Мне нужно отправить строку с1500 символов (или более), но в этом случае сервер выдает таймаут и возвращает500 - внутренняя ошибка сервера.
Если я отправлю строку ниже, чем1400 знаковУ меня нет проблем и сервер возвращаетсяХОРОШО.
Мой код следующий:
public String connectToServer(String prototype) {
String responseString = "";
try {
BufferedReader in = new BufferedReader(new InputStreamReader(openURLForInput(new URL(URL), USERNAME, PASSWORD, prototype)));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
responseString += line;
}
} catch (IOException e) {
e.printStackTrace();
responseString = e.toString();
}
return responseString;
}
// -----------------------
public InputStream openURLForInput(URL url, String uname, String pword, String content) throws IOException {
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestProperty("Authorization", userNamePasswordBase64(uname, pword)); // I know this is OK
conn.addRequestProperty("Content-type", "application/xml; charset=utf-8");
//conn.setChunkedStreamingMode(8 * 1024);
conn.setRequestMethod("PUT");
conn.connect();
OutputStream output = conn.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(output, "UTF-8");
BufferedWriter writer = new BufferedWriter(osw);
writer.write(content); // content length > 1400 characters
writer.close();
output.close();
int status = conn.getResponseCode();
Log.i("STATUS", status + "");
Log.i("STATUS_ERROR", conn.getResponseMessage());
return conn.getInputStream();
}
Я попытался добавить строки
conn.setFixedLengthStreamingMode(contentLength)
conn.setChunkedStreamingMode(8 * 1024);
Но серверОтвет в любом случае неверен.
ОБНОВИТЬ:
Я мог обнаружить проблему. По какой-то причине, когда я пытаюсь отправить большие тела в запросе, сервер выдает тайм-аутно не со всеми сетямиТолько с некоторыми сетями. Я использую безопасное соединение SSL, может быть, это может вызвать проблемы?