Я использую Apache HttpClient (4.1) включенный в Android для выполнения HttpPut. Я проверил, что у меня только есть 1 заголовок довольной длины. Однако каждый раз, когда я отправляю запрос, я получаю исключение протокола о заголовке Довольной Длины, уже указанном.
HttpClient client = new DefaultHttpClient();
putMethod = new HttpPut(url + encodedFileName);
putMethod.addHeader(..) //<-once for each header
putMethod.setEntity(new ByteArrayEntity(data));
client.execute(putMethod); //throws Exception
Вызванный: org.apache.http. ProtocolException: заголовок Довольной Длины уже представляет в org.apache.http.protocol. RequestContent.process(RequestContent.java:70) в org.apache.http.protocol. BasicHttpProcessor.process(BasicHttpProcessor.java:290)
Какие-либо идеи?
Я сам не использовал HttpClient, но подозреваю, что проблема в том, что putMethod.setEntity (...)
неявно предоставляет длину содержимого, а вы также явно задав его через один из вызовов putMethod.addHeader (...)
.