Сообщение Android HttpPost не отправляет свои полезные данные по сети

Я пытаюсь отправить простую строку в качестве содержимого сообщения HttpPost.

Проблема в том, что тело сообщения HttpPost никогда не попадает в сеть. (Говорит захват Wireshark). Заголовок выглядит просто отлично (включая правильно рассчитанную Content-Length.

Вот как выглядит код:

String url = "http://1.2.3.4/resource";
HttpClient client = new DefaultHttpClient();
String cmd = "AT+AVLPOS\r\n";
StringEntity se = new StringEntity(cmd);
se.setContentType("text/plain");  

HttpPost request = new HttpPost(url);
request.setHeader("Content-Type","text/plain");
request.setEntity(se);

HttpResponse response = client.execute(request);
[...]

Строка должна быть в кодировке ASCII, но это деталь на данный момент.

Это то, что отображается в WireShark: -> обратите внимание, что строки, отмеченные знаком +, - это то, что отправлено, а - то, что получено.

+POST /resource HTTP/1.1
+Content-Type: text/plain
+Content-Length: 11
+Host: 1.2.3.4
+Connection: Keep-Alive
+User-Agent: Apache-HttpClient/UNAVAILABLE (java 1.4)
+Expect: 100-Continue

-HTTP/1.1 200 OK
-Content-Type: text/plain
-Transfer-Encoding: chunked

-4
-OK

Это то, что должно появиться (для этого написано очень простое консольное приложение на C #, оно просто работает) :

+POST /resource HTTP/1.1
+Content-Type: text/plain
+Host: 1.2.3.4
+Content-Length: 11
+Expect: 100-continue
+Connection: Keep-Alive
+
-HTTP/1.1 200 OK
-Content-Type: text/plain
-Transfer-Encoding: chunked
-
+AT+AVLPOS
+
-4
-OK
-
-48
-$AVTMR,99999999,204810,A,1234.2218,N,0123.1051,E,0,20,150811,0,REQ*69
-
-0
-

Есть предложения?

5
задан Cristi Diaconescu 16 August 2011 в 12:50
поделиться