diff options
| author | doufenghu <[email protected]> | 2022-04-24 19:46:18 +0800 |
|---|---|---|
| committer | doufenghu <[email protected]> | 2022-04-24 19:46:18 +0800 |
| commit | 1f924c0277809112c60d6ac11a555fb4e32974e0 (patch) | |
| tree | cb37487edf3f214e474c02defdf260c02a249ae0 /src/main | |
| parent | ae07a14051748bad6cdbaf54b302a890465727b5 (diff) | |
feature(ipLookupV2):
1.支持ISP信息获取
2.支持ORGANIZATION信息获取
Diffstat (limited to 'src/main')
| -rw-r--r-- | src/main/java/com/zdjizhi/utils/AbstractIpLookup.java | 15 | ||||
| -rw-r--r-- | src/main/java/com/zdjizhi/utils/IpLookup.java | 26 | ||||
| -rw-r--r-- | src/main/java/com/zdjizhi/utils/IpLookupV2.java | 25 |
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); - } |
