Я пытаюсь понять, как работает протокол HTTP, поэтому я попытался вручную добавить заголовки в java Socket для отправки запроса на httpbin.org, как показано ниже:
BufferedWriter wr = new BufferedWriter(/*socket Outputstream*/)
wr.write("POST post HTTP/1.1\r\n");
wr.write("Host: httpbin.org\r\n");
wr.write("Accept: */*\r\n");
wr.write("Content-Length: "+data.length()+"\r\n");
wr.write("Content-Type: multipart/form-data; boundary=---WebKitFormBoundary67\r\n");
wr.write("\r\n");
wr.write(data);
wr.flush();
В приведенном выше коде data
полезная нагрузка HTTP-запроса выглядит точно так, как показано ниже:
---WebKitFormBoundary67
Content-Disposition: form-data; name="field1"
value1
---WebKitFormBoundary67
Content-Disposition: form-data; name="field2"; filename="example.txt"
Java is better when it run long
---WebKitFormBoundary67--
Но сервер httpbin.org не определяет прикрепленные файлы, я что-то пропустил?