解决Content-Type :application/x-www-form-urlencoded 老是request.getInputStream()取不到值的问题
2012-07-20 00:08
465 查看
今天工作当中遇到一个问题:
客户端上传的head包含
Content-Type :application/x-www-form-urlencoded
老是去取request.getInputStream()时候取不到数据.为null.
而客户端如果修改为
Content-Type :application/json 就没问题.
只要header不是application/x-www-form-urlencoded
他都不会去读,这个处理方法是有一定道理的
因为浏览器form带上来的都是这个header
这样简单,易于传送,但是大量数据就不行了
但是这样不是根本的解决办法.
最后一步步的查看代码,结果filter里面有一句
request.getParameter(),
原来默认的Content-Type :application/x-www-form-urlencoded
只能读取一次流,而且不会去区分url的参数和body体的数据.
此处留下警告,以后如果有后台服务器接口,
取url参数和body只使用一个,
客户端上传的head包含
Content-Type :application/x-www-form-urlencoded
老是去取request.getInputStream()时候取不到数据.为null.
而客户端如果修改为
Content-Type :application/json 就没问题.
只要header不是application/x-www-form-urlencoded
他都不会去读,这个处理方法是有一定道理的
因为浏览器form带上来的都是这个header
这样简单,易于传送,但是大量数据就不行了
但是这样不是根本的解决办法.
最后一步步的查看代码,结果filter里面有一句
request.getParameter(),
原来默认的Content-Type :application/x-www-form-urlencoded
只能读取一次流,而且不会去区分url的参数和body体的数据.
此处留下警告,以后如果有后台服务器接口,
取url参数和body只使用一个,
相关文章推荐
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- 获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- (转)获取 request 中用POST方式"Content-type"是"application/x-www-form-urlencoded;charset=utf-8"发送的 json 数据
- myxmlHttpRequset.setRequestHeader("Content-Type","application/x-www-form-urlencoded
- 关于 Content-Type:application/x-www-form-urlencoded 和 Content-Type:multipart/related
- 关于 Content-Type:application/x-www-form-urlencoded 和 Content-Type:multipart/related
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法 ?
- application/x-www-form-urlencoded 的contentType,POST数据内容过大,导致tomcat的request取不到参数
- 解决当FORM的ENCTYPE="multipart/form-data" 时request.getParameter()获取不到值的方法
- 关于 Content-Type:application/x-www-form-urlencoded 和 Content-Type:multipart/related
- Content-Type:application/x-www-form-urlencoded; charset=UTF-8 设置方法 针对AFN或者是原生
- 关于 Content-Type:application/x-www-form-urlencoded 和 Content-Type:multipart/related
- 解决content-type为"application/json"的post过来的数据在php端接受不到的问题
- 关于 Content-Type:application/x-www-form-urlencoded 和 Content-Type:multipart/related
- Content-Type:application/x-www-form-urlencoded 和 Content-Type:multipart/rel
- Content-Type中application/x-www-form-urlencoded 和 multipart/form-data的区别
- 未指定Content-Type: application/x-www-form-urlencoded将会导致服务端获取Ajax POST数据失败
- FORM的ENCTYPE="multipart/form-data" 时request.getParameter()值为null问题的解决
- 从form的enctype属性到Content-Type再到request.getInputStream()