|  |  | 
 |  |  | package com.zy.asrs.wms.utils; | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSON; | 
 |  |  | import com.zy.asrs.framework.common.R; | 
 |  |  |  | 
 |  |  | import javax.servlet.http.HttpServletResponse; | 
 |  |  | import java.io.IOException; | 
 |  |  | import java.io.PrintWriter; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * Created by vincent on 1/29/2024 | 
 |  |  |  */ | 
 |  |  | public class HttpUtils { | 
 |  |  |  | 
 |  |  |     public static void responseError(HttpServletResponse response, Integer code, String message, String error) { | 
 |  |  |         response.setContentType("application/json;charset=UTF-8"); | 
 |  |  |         try { | 
 |  |  |             PrintWriter out = response.getWriter(); | 
 |  |  |             out.write(JSON.toJSONString(R.parse(code + "-" + message))); | 
 |  |  |             out.flush(); | 
 |  |  |         } catch (IOException e) { | 
 |  |  |             e.printStackTrace(); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | } | 
 |  |  | package com.zy.asrs.wms.utils;
 | 
 |  |  | 
 | 
 |  |  | import com.alibaba.fastjson.JSON;
 | 
 |  |  | import com.zy.asrs.framework.common.R;
 | 
 |  |  | 
 | 
 |  |  | import javax.servlet.http.HttpServletRequest;
 | 
 |  |  | import javax.servlet.http.HttpServletResponse;
 | 
 |  |  | import java.io.IOException;
 | 
 |  |  | import java.io.PrintWriter;
 | 
 |  |  | 
 | 
 |  |  | /**
 | 
 |  |  |  * Created by vincent on 1/29/2024
 | 
 |  |  |  */
 | 
 |  |  | public class HttpUtils {
 | 
 |  |  | 
 | 
 |  |  |     public static void responseError(HttpServletResponse response, Integer code, String message, String error) {
 | 
 |  |  |         response.setContentType("application/json;charset=UTF-8");
 | 
 |  |  |         try {
 | 
 |  |  |             PrintWriter out = response.getWriter();
 | 
 |  |  |             out.write(JSON.toJSONString(R.parse(code + "-" + message)));
 | 
 |  |  |             out.flush();
 | 
 |  |  |         } catch (IOException e) {
 | 
 |  |  |             e.printStackTrace();
 | 
 |  |  |         }
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  |     public static String getClientIpAddress(HttpServletRequest request) {
 | 
 |  |  |         String ip = request.getHeader("X-Forwarded-For");
 | 
 |  |  | 
 | 
 |  |  |         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
 | 
 |  |  |             ip = request.getHeader("Proxy-Client-IP");
 | 
 |  |  |         }
 | 
 |  |  |         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
 | 
 |  |  |             ip = request.getHeader("WL-Proxy-Client-IP");
 | 
 |  |  |         }
 | 
 |  |  |         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
 | 
 |  |  |             ip = request.getHeader("HTTP_CLIENT_IP");
 | 
 |  |  |         }
 | 
 |  |  |         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
 | 
 |  |  |             ip = request.getHeader("HTTP_X_FORWARDED_FOR");
 | 
 |  |  |         }
 | 
 |  |  |         if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
 | 
 |  |  |             ip = request.getRemoteAddr();
 | 
 |  |  |         }
 | 
 |  |  | 
 | 
 |  |  |         // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
 | 
 |  |  |         if (ip != null && ip.contains(",")) {
 | 
 |  |  |             ip = ip.split(",")[0].trim();
 | 
 |  |  |         }
 | 
 |  |  |         return ip;
 | 
 |  |  |     }
 | 
 |  |  | 
 | 
 |  |  | }
 |