我需要解析一个POST请求,特别是它的参数。我理解的方式是请求的主体包含key1=value&key2=value
形式的参数列表或其他数据,如上传的文件。有没有办法确定我得到的东西(参数或文件数据)?
快速解决方案可以是正则表达式,但文件可能还包含key1=value&key2=value
谢谢!
答案 0 :(得分:5)
有没有办法确定我得到的东西(参数或文件数据)?
是的,但不是来自身体。您需要阅读请求标头Content-Type
。
如果是Content-Type: multipart/form-data
,您就拥有了可以包含文件数据的复杂MIME多部分语法。
如果它是Content-Type: application/x-www-form-urlencoded
,那么你就有了类似查询字符串的参数。
如果它是其他的东西(例如application/json
),你会得到一个自定义的POST请求,而不是直接表单提交,在这种情况下由你来决定那个格式是什么。 / p>