我正在尝试使用 MultipartEntity 在以下服务器 POST 请求中做一些事情:
parameters: {"parameter1"=>"parameter1", "parameter2"=>{"sub_parameter1"=>"sub_parameter1", "sub_parameter2"=>"sub_parameter2"}}
我目前正在使用类似的东西:
multipartEntity.addPart("parameter1", new StringBody("parameter1"));
FormBodyPart parameter2 = new FormBodyPart("parameter2", new StringBody("")); // It wouldn't allow a null ContentBody
parameter2.addField("sub_parameter1", "sub_parameter1");
parameter2.addField("sub_parameter2", "sub_parameter2");
但是,子字段不携带。我只是得到:
parameters: {"parameter1"=>"parameter1", "parameter2"=>""}
如何在 MultipartEntity 或它包含的 FormBodyPart 元素中创建嵌套结构?
最佳答案
一旦您了解了表单条目是如何通过 HTTP 连接传输的,您就会明白不可能将任何内容嵌套在多表单请求和 url 编码请求中。
事情很简单。多部分表单请求的格式为:
--- content-boundary ---
Content-Disposition: form-data; name="form_data_name"
[content (skipped)]
--- content-boundary ---
就是这样。有格式为以下格式的单个数据表单条目流:[表单条目名称] -> [表单条目内容] 对表单中的每个条目重复。它不是递归的,因此可能没有任何嵌套结构。
来源:
关于android - 是否可以在多部分 POST 中嵌套 MultipartEntities 或 FormBodyPart?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16259989/