2012-12-29 103 views
0

我需要解析POST请求,特别是其参数。我了解它的方式是请求的主体包含key1=value&key2=value形式的参数列表或其他数据,如上传的文件。有什么方法可以确定我得到的东西(参数或文件数据)吗?如何解析POST请求的主体

一个快速的解决方案可能是正则表达式,但文件也可能包含在key1=value&key2=value

由于形式的数据!

回答

4

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

是的,但不是从身体。您需要阅读请求标头Content-Type

如果它是Content-Type: multipart/form-data,那么您已经拥有了可以包含文件数据的复杂MIME multipart语法。

如果是Content-Type: application/x-www-form-urlencoded,那么您已经获得了类似查询字符串的参数。

如果是别的东西(例如application/json),您将得到一个自定义的POST请求,而不是通过直接的表单提交来触发,在这种情况下,由您来决定该格式是什么。

+0

美丽的答案。 – Bruno