Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
H
haoban-manage3.0
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoban3.0
haoban-manage3.0
Commits
d2ad8447
Commit
d2ad8447
authored
May 07, 2022
by
墨竹
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat:获取真实ip
parent
a4a0a562
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
9 deletions
+23
-9
IPAddressUtil.java
...n/java/com/gic/haoban/manage/web/utils/IPAddressUtil.java
+23
-9
No files found.
haoban-manage3-wx/src/main/java/com/gic/haoban/manage/web/utils/IPAddressUtil.java
View file @
d2ad8447
package
com
.
gic
.
haoban
.
manage
.
web
.
utils
;
package
com
.
gic
.
haoban
.
manage
.
web
.
utils
;
import
org.apache.commons.lang3.StringUtils
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
/**
/**
* @author mozhu
* @author mozhu
...
@@ -17,22 +21,32 @@ public class IPAddressUtil {
...
@@ -17,22 +21,32 @@ public class IPAddressUtil {
* @date 2021-12-15 11:08:30
* @date 2021-12-15 11:08:30
*/
*/
public
static
String
getIpAddress
(
HttpServletRequest
request
)
{
public
static
String
getIpAddress
(
HttpServletRequest
request
)
{
String
ip
=
request
.
getHeader
(
"
x-forwarded-f
or"
);
String
ip
=
request
.
getHeader
(
"
X-Forwarded-F
or"
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown
"
.
equalsIgnoreCase
(
ip
))
{
if
(
StringUtils
.
isBlank
(
ip
)
||
"unknown"
.
equalsIgnoreCase
(
ip
)
||
"127.0.0.1
"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown
"
.
equalsIgnoreCase
(
ip
))
{
if
(
StringUtils
.
isBlank
(
ip
)
||
"unknown"
.
equalsIgnoreCase
(
ip
)
||
"127.0.0.1
"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
"unknown"
.
equalsIgnoreCase
(
ip
))
{
if
(
StringUtils
.
isBlank
(
ip
)
||
"unknown"
.
equalsIgnoreCase
(
ip
)
||
"127.0.0.1"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_CLIENT_IP"
);
ip
=
request
.
getHeader
(
"X-Real-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
))
{
if
(
StringUtils
.
isBlank
(
ip
)
||
"unknown"
.
equalsIgnoreCase
(
ip
)
||
"127.0.0.1
"
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
ip
=
request
.
getRemoteAddr
();
}
}
if
(
StringUtils
.
isBlank
(
ip
)
||
"127.0.0.1"
.
equals
(
ip
)
||
ip
.
contains
(
":"
))
{
try
{
ip
=
InetAddress
.
getLocalHost
().
getHostAddress
();
}
catch
(
UnknownHostException
e
)
{
ip
=
null
;
}
}
// 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
if
(
StringUtils
.
isNotBlank
(
ip
)
&&
ip
.
length
()
>
15
)
{
if
(
ip
.
indexOf
(
","
)
>
0
)
{
ip
=
ip
.
substring
(
0
,
ip
.
indexOf
(
","
));
}
}
return
ip
;
return
ip
;
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment