yaobo 7 years ago
parent
commit
be05dda653

+ 4 - 4
src/main/java/cn/efunbox/audio/controller/DeviceController.java

@@ -60,7 +60,7 @@ public class DeviceController {
     @RequestMapping(value = "/feign")
     public void Feigh(HttpServletRequest request, HttpServletResponse response,
             @RequestParam("idChannel")String idChannel, @RequestParam("mobile")String mobile){
-        String ip = HttpUtil.getRemortIP(request);
+        String ip = HttpUtil.getIpAddress(request);
         System.out.println("start:"+ip);
         String res = userHttp.Register(UUID.randomUUID().toString().substring(0, 31),
                 idChannel, ip, mobile, mobile);
@@ -184,12 +184,12 @@ public class DeviceController {
         String idDevice = request.getParameter("idDevice");
         String idChannel = request.getParameter("idChannel");
         List<Device> list = new ArrayList<>();
-        if(idDevice==null && idChannel==null)
+        if((idDevice==null || idDevice.length()==0) && (idChannel==null || idChannel.length()==0))
             list = deviceService.SearchAll();
         else{
-            if(idDevice==null)
+            if(idDevice==null || idDevice.length()==0)
                 idDevice = "0";
-            if(idChannel==null)
+            if(idChannel==null || idChannel.length()==0)
                 idChannel = "0";
             list = deviceService.Search(Long.valueOf(idChannel), Long.valueOf(idDevice));
         }

+ 18 - 4
src/main/java/cn/efunbox/audio/utils/HttpUtil.java

@@ -87,12 +87,26 @@ public class HttpUtil {
      * @param request
      * @return
      */
-    public static String getRemortIP(HttpServletRequest request) {
-        if (request.getHeader("x-forwarded-for") == null) {
-            return request.getRemoteAddr();
+    public static String getIpAddress(HttpServletRequest request) {
+        String ip = request.getHeader("x-forwarded-for");
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("Proxy-Client-IP");
         }
-        return request.getHeader("x-forwarded-for");
+        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();
+        }
+        return ip;
     }
 
 
+
 }