如何解析POST请求的正文

Yot*_*tam 0 parameters post parsing http

我需要解析一个POST请求,特别是它的参数.我理解它的方式是请求的主体包含形式的参数列表key1=value&key2=value或其他数据,如上传的文件.有没有办法确定我得到的东西(参数或文件数据)?

快速解决方案可以是正则表达式,但文件也可能包含形式的数据 key1=value&key2=value

谢谢!

bob*_*nce 5

有没有办法确定我得到的东西(参数或文件数据)?

是的,但不是来自身体.您需要阅读请求标头Content-Type.

如果是这样Content-Type: multipart/form-data,您就拥有了可以包含文件数据的复杂MIME多部分语法.

如果是的话Content-Type: application/x-www-form-urlencoded,你就有了类似查询字符串的参数.

如果它是其他东西(例如application/json),你有一个自定义的POST请求被直接表单提交以外的其他东西触发,在这种情况下,由你来决定那个格式是什么.