http请求requestUtils
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang.StringUtils;/*** <p> * <h3>Web Request 工具类</h3>* <span> 该类使用 abstaract 修饰,防止用户创建对象。其方法一般为静态,如添加非静态方法,修改者需提供具体子类。<span>* <pre></pre>* </p>*/ public abstract class RequestUtils {/*** <p> 解析客户端的 ip 地址 </p>*/public static String getIpAddr(HttpServletRequest request) {String ip = request.getHeader("x-forwarded-for");if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");}if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");}if (StringUtils.isBlank(ip) || "unknown".equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();}return ip;}/*** <p>获取 request body 中的内容</p>* <span>该方法会抛出 IOException ,需调用者处理或者抛到更上层</span>*/public static String getRequestBody(HttpServletRequest request) throws IOException {StringBuilder sb = new StringBuilder() ;BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));String line;//避免程序异常退出不能关闭try {while((line = br.readLine()) != null) {sb.append(line);}}finally { br.close();}return sb.toString();}}
转载于:https://www.cnblogs.com/zyf-yxm/p/10572344.html
http请求requestUtils相关推荐
- php调用restful接口_jzq_sdk_php
jzq_sdk_php #一.环境依赖 ##php版本 php最低版本以composer.json中require.php为准,现为>=5.3.39 以前版本 此程序是对ebq/jzq_api工 ...
- struts2 处理请求流程分析(结合源码)
http://zhxing.iteye.com/blog/541059 struts2 源码版本2.0.11.1 本文是综合网上部分人的分析成果,然后再自己结合源码进行的,分析中如有错误,请指正. 从 ...
- Spring Cloud Gateway 之获取请求体的几种方式
一.直接在全局拦截器中获取 伪代码如下 private String resolveBodyFromRequest(ServerHttpRequest serverHttpRequest){Flux& ...
- Android中Http网络请求库框架Volley和Asnyc-http的使用---第三方库学习笔记(一)
Volley框架: 特点: 通信更快,更简单 Get,Post网络请求及网络图像的高效率异步处理请求. 当多个请求时,对网络请求进行排序,按优先级处理 当网络状况不好时,Volley可以自动对上次请求 ...
- 服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)
Zuul的核心是一系列的过滤器,这些过滤器可以完成以下功能: 身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求. 审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生成 ...
- 如何使用ListView实现一个带有网络请求,解析,分页,缓存的公共的List页面来大大的提高工作效率
在平常的开发中经常会有很多列表页面,每做一个列表页就需要创建这个布局文件那个Adapter适配器文件等等一大堆与之相关的附属的不必要的冗余文件.如果版本更新迭代比较频繁,如此以往,就会使项目工程变得无 ...
- java http请求原理_浅谈Spring Cloud zuul http请求转发原理
spring cloud 网关,依赖于netflix 下的zuul 组件 zuul 的流程是,自定义 了ZuulServletFilter和zuulServlet两种方式,让开发者可以去实现,并调用 ...
- JAVA发送HttpClient请求及接收请求结果过程
1.写一个HttpRequestUtils工具类,包括post请求和get请求 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ...
- struts2请求过程源代码分析
struts2请求过程源代码分析 Struts2是Struts社区和WebWork社区的共同成果.我们甚至能够说,Struts2是WebWork的升级版.他採用的正是WebWork的核心,所以.Str ...
最新文章
- 2021-04-06 符号执行是啥?
- linux vi/vim使用
- 基于 Linux 和 MiniGUI 的嵌入式系统软件开发指南(六) MiniGUI 提供的非 GUI/GDI 接口...
- 在游戏里模拟天空的颜色,太迷人了!
- 交叉驰豫的影响因素_深度讲解:膝关节韧带为什么容易断裂?这5点因素影响非常大...
- 错误:document.getElementById(userForm).submit();Object is not a function
- 京东回应「被薅 7000 万、项目组全体开除」;微信朋友圈屏蔽支付宝集五福;MySQL 8.0.19 发布 | 极客头条...
- HDU2020 绝对值排序【排序】
- 增强型绿植植被指数_MODIS增强型植被指数EVI与NDVI初步比较-中国科学院.PDF
- 交换机下接路由器lan还是wan_同一网络中如何配置多个路由器?
- Python编辑器你选哪个?我选PyCharm
- Noip 2016 蛋碎一地晚节不保
- 利用FME(myfme)将MAPGIS格式的土地处用现状图完美转换为CAD
- 谷歌ai人工智能叫什么_用Google新的AI强大工具翻译古代象形文字
- spo0lsv病毒分析
- 红牛v5 android cm12.1 分辨率修改
- 【数据结构机试复习2】 赛马 猴子选大王
- php获取蓝凑云文件列表,蓝奏云网盘登录获取文件例程
- scanf(%*s)
- 使用u盘PE系统重装Windows操作系统