summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authordoufenghu <[email protected]>2022-04-24 19:46:18 +0800
committerdoufenghu <[email protected]>2022-04-24 19:46:18 +0800
commit1f924c0277809112c60d6ac11a555fb4e32974e0 (patch)
treecb37487edf3f214e474c02defdf260c02a249ae0 /src/main
parentae07a14051748bad6cdbaf54b302a890465727b5 (diff)
feature(ipLookupV2):
1.支持ISP信息获取 2.支持ORGANIZATION信息获取
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/com/zdjizhi/utils/AbstractIpLookup.java15
-rw-r--r--src/main/java/com/zdjizhi/utils/IpLookup.java26
-rw-r--r--src/main/java/com/zdjizhi/utils/IpLookupV2.java25
3 files changed, 64 insertions, 2 deletions
diff --git a/src/main/java/com/zdjizhi/utils/AbstractIpLookup.java b/src/main/java/com/zdjizhi/utils/AbstractIpLookup.java
index 942b42d..6138713 100644
--- a/src/main/java/com/zdjizhi/utils/AbstractIpLookup.java
+++ b/src/main/java/com/zdjizhi/utils/AbstractIpLookup.java
@@ -69,6 +69,21 @@ public abstract class AbstractIpLookup {
*/
public abstract String provinceLookup(String ip);
+ /**
+ *
+ * 获取运营商信息
+ * @param ip ip地址
+ * @return String 运营商
+ */
+ public abstract String ispLookup(String ip);
+
+ /**
+ *
+ * 获取组织信息
+ * @param ip ip地址
+ * @return String 组织
+ */
+ public abstract String organizationLookup(String ip);
/**
*
diff --git a/src/main/java/com/zdjizhi/utils/IpLookup.java b/src/main/java/com/zdjizhi/utils/IpLookup.java
index e235a6b..2e40207 100644
--- a/src/main/java/com/zdjizhi/utils/IpLookup.java
+++ b/src/main/java/com/zdjizhi/utils/IpLookup.java
@@ -463,6 +463,32 @@ public final class IpLookup extends AbstractIpLookup{
return StringUtil.setDefaultIfEmpty(response.getProvince(), UNKNOWN).toString() ;
}
+ @Override
+ public String ispLookup(String ip) {
+ LocationResponse response = getResponse(ip);
+ if (StringUtil.isEmpty(response)) {
+ return UNKNOWN;
+ }
+ if (response.isPrivateIP()) {
+ return PRIVATE_IP;
+ }
+
+ return StringUtil.setDefaultIfEmpty(response.getIsp(), UNKNOWN).toString() ;
+ }
+
+ @Override
+ public String organizationLookup(String ip) {
+ LocationResponse response = getResponse(ip);
+ if (StringUtil.isEmpty(response)) {
+ return UNKNOWN;
+ }
+ if (response.isPrivateIP()) {
+ return PRIVATE_IP;
+ }
+
+ return StringUtil.setDefaultIfEmpty(response.getOrganization(), UNKNOWN).toString() ;
+ }
+
@Override
public String latLngLookup(String ip) {
diff --git a/src/main/java/com/zdjizhi/utils/IpLookupV2.java b/src/main/java/com/zdjizhi/utils/IpLookupV2.java
index 91c42e6..a16c1f6 100644
--- a/src/main/java/com/zdjizhi/utils/IpLookupV2.java
+++ b/src/main/java/com/zdjizhi/utils/IpLookupV2.java
@@ -483,6 +483,29 @@ public final class IpLookupV2 extends AbstractIpLookup{
return StringUtil.setDefaultIfEmpty(response.getSuper_administrative_area(), UNKNOWN).toString() ;
}
+ @Override
+ public String ispLookup(String ip) {
+ LocationResponseV2 response = getResponse(ip);
+ if (StringUtil.isEmpty(response)) {
+ return UNKNOWN;
+ }
+ if (response.isPrivateIP()) {
+ return PRIVATE_IP;
+ }
+ return StringUtil.setDefaultIfEmpty(response.getIsp(), UNKNOWN).toString() ;
+ }
+
+ @Override
+ public String organizationLookup(String ip) {
+ LocationResponseV2 response = getResponse(ip);
+ if (StringUtil.isEmpty(response)) {
+ return UNKNOWN;
+ }
+ if (response.isPrivateIP()) {
+ return PRIVATE_IP;
+ }
+ return StringUtil.setDefaultIfEmpty(response.getOrganization(), UNKNOWN).toString() ;
+ }
@Override
@@ -496,7 +519,6 @@ public final class IpLookupV2 extends AbstractIpLookup{
}
-
@Override
public String cityLatLngLookup(String ip) {
return Joiner.on(OBJECT_SEPARATOR).skipNulls().join(cityLookup(ip), latLngLookup(ip));
@@ -505,7 +527,6 @@ public final class IpLookupV2 extends AbstractIpLookup{
@Override
public String asnLookup(String ip) {
return asnLookup.asnLookup(ip);
-
}