HTTP-запрос POST, как вычислить длина содержимого

, я выполняю HTTP-запрос POST к серверу и создаю тело сообщения вручную. Я думаю, что делаю некоторую ошибку с заголовком длины содержимого, потому что на стороне сервера, когда я получаю ответ http в начале, я вижу заголовки с ответом http 200, а затем, когда в моем сценарии php я печатаю параметры сообщения и имена файлов Я получаю правильные значения, но вместе с ненужными байтами. Вот тело моего http-сообщения:

StringBuffer str = new StringBuffer();
str.append("POST /tst/query.php HTTP/1.1\r\n"
        + "Host: myhost.com\r\n"
        + "User-Agent: sampleAgent\r\n"
        + "Content-type: multipart/form-data, boundary=AaB03x\r\n" 
        + "Content-Length: 172\r\n\r\n"
        + "--AaB03x\r\n"
        + "content-disposition: form-data; name=\"asd\"\r\n\r\n123\r\n--AaB03x\r\n"
        + "content-disposition: form-data; name=\"pics\"; filename=\"file1.txt\"\r\n"
        + "Content-Type: text/plain\r\n\r\n555\r\n"
        + "--AaB03x--"
);

Вот вывод с сервера (игнорируйте [0.0] - он исходит из консоли, где я печатаю результат)

[0.0] HTTP/1.1 200 OK

[0.0] Date: Sat, 10 Dec 2011 11:53:11 GMT

[0.0] Server: Apache

[0.0] Transfer-Encoding: chunked

[0.0] Content-Type: text/html

[0.0] 

[0.0] 6

[0.0] Array
[0.0] 

[0.0] 2

[0.0] (
[0.0] 

[0.0] 1

[0.0]  

[0.0] 1

[0.0]  

[0.0] 1

[0.0]  

[0.0] 1

[0.0]  

[0.0] 1

[0.0] [

[0.0] 3

[0.0] asd

[0.0] 5

[0.0] ] => 

3
123
1
2
)
0

И скрипт php на сервере, который так же прост как вы можете представить:

<?php 
    print_r($_POST) ;
?>
5
задан gosho_ot_pochivka 10 December 2011 в 12:27
поделиться