<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ``` /** * @author 張躍帥 * @Description: 根據ip地址定位-工具 * @date 2020/08/12 */ @Slf4j public class IpUtil { /** * ip查詢器接口 */ private static final Ip2regionSearcher ipSearchApi = SpringUtil.getBean(Ip2regionSearcher.class); /** * 默認內網ip */ private static final String LOCAL_IP = "127.0.0.1"; /** * 本地遠程主機 */ private static final String LOCAL_REMOTE_HOST = "0:0:0:0:0:0:0:1"; /** * 獲取-客戶端ip */ public static String getIp(HttpServletRequest request) { // 判斷 if (ObjectUtil.isEmpty(request)) { // 返回 return LOCAL_IP; } else { // 獲取客戶端IP String requestHost = ServletUtil.getClientIP(request); // 返回 return LOCAL_REMOTE_HOST.equals(requestHost) ? LOCAL_IP : requestHost; } } /** * 獲取-客戶端ip地址 */ public static String getAddress(HttpServletRequest request) { // 獲取參數 String address = StrUtil.DASHED; String ip = IpUtil.getIp(request); // 如果是本地ip或局域網ip,則直接不查詢 if (StrUtil.isNotBlank(ip)) { // 判斷 if (NetUtil.isInnerIP(ip)) { // 返回 return address; } // 獲取ip信息 IpInfo ipInfo = ipSearchApi.memorySearch(ip); // 判斷 if (ObjectUtil.isNotNull(ipInfo)) { // 獲取參數 address = ipInfo.getAddress(); } else { log.error(">>> 獲取ip地址為空"); } } // 返回 return address; } /** * 獲取-指定ip地址 */ public static String getAddressByIp(String ip) { // 變量 String address = StrUtil.DASHED; // 判斷 if (StrUtil.isNotBlank(ip)) { // 判斷 if (NetUtil.isInnerIP(ip)) { // 返回 return address = "內網地址"; } // 獲取ip信息 IpInfo ipInfo = ipSearchApi.memorySearch(ip); // 判斷 if (ObjectUtil.isNotNull(ipInfo)) { // 獲取參數 address = ipInfo.getAddress(); } else { log.error(">>> 獲取ip地址為空"); } } // 返回 return address; } /** * 獲取-ip信息詳情 */ public static IpInfo getIpInfoByIp(String ip) { // 判斷 if (StrUtil.isNotBlank(ip)) { // 判斷 if (!NetUtil.isInnerIP(ip)) { // 獲取ip信息 IpInfo ipInfo = ipSearchApi.memorySearch(ip); // 判斷 if (ObjectUtil.isNull(ipInfo)) { log.error(">>> 獲取ip信息為空"); } // 返回 return ipInfo; } } // 返回 return null; } }
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看