Каков максимальный размер метода HTTP Post в Android - PullRequest
0 голосов
/ 12 августа 2011

Какой максимальный размер андроида Post метод?Когда я получаю ответы от сервера, части сообщения отсутствуют.Я думаю, что это, возможно, достигло максимального размера почтового метода.Если для метода post нет ограничений, нужно ли мне для этого изменять спецификации сервера?

Ответы [ 2 ]

1 голос
/ 12 августа 2011

У меня была такая же проблема, я использовал HttpPost и ответ получен с сервера, но часть данных пропущена из-за их очень большого размера.Вот почему я использовал другой способ: HttpURLConnection с OuputStream для отправки запроса на сервер и BufferedReader / InputStream для получения ответов.

    HttpURLConnection my_httpConnection = (HttpURLConnection) new URL("https://integrator-ut.vegaconnection.com/Authentication.svc?wsdl").openConnection();
    my_httpConnection.setRequestMethod("POST");
    my_httpConnection.setDoInput(true);
    my_httpConnection.setDoOutput(true);
    my_httpConnection.setRequestProperty("Content-type", "text/xml; charset=utf-8");



   OutputStream my_outPutStream = this.my_httpConnection.getOutputStream();
   Writer my_writer = new OutputStreamWriter(my_outPutStream);
   my_writer.write(YOUR_REQUEST); //YOUR_REQUEST is a String
   my_writer.flush();
   my_writer.close();           

   BufferedReader my_bufferReader = new BufferedReader(new InputStreamReader(this.my_httpConnection.getInputStream()));
    char[] buffer = new char[10000];
    int nbCharRead=0;
    try
    {
        while((nbCharRead = my_bufferReader.read(buffer, 0, 10000)) != -1)
        {
             /* Your treatement : saving on a file/arraylist/etc

        }
    }
0 голосов
/ 12 августа 2011

Теоретически нет предела.Размер ответа POST ограничен размером кучи Java VM , который не зависит от устройства .Вероятно, это больше, чем тратит ваш пост-ответ.

Как вы проверяете, что часть вашего ответа отсутствует?Если вы распечатываете его с помощью LogCat или просматриваете в режиме отладки, то вы можете видеть только начало сообщения, заканчивающееся тремя точками (все сообщение есть, оно отображается не только вам).

...