apnicIp筛选出中国地区IP

  • 目的
    • 直接上代码
    • 返回结果

目的

最近在做电商项目,里面有裂变红包。一些羊毛党防不胜防,全是境外的ip,为了防止羊毛党,我们需要对ip进行限制。

直接上代码

package com.example.study.service;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;/*** @description: 直接调用dididi()即可**/
@Service
public class GetHTMLService {private static final Logger log = LoggerFactory.getLogger(GetHTMLService.class);//HttpURLConnection获取中国地区IPpublic String dididi() {Map<String,String> map = request("http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest");String s = parseOnline(map.get("result"));return s;}//获取页面内容private static Map<String,String> request(String url) {Map<String,String> response = new HashMap<String, String>();try{URL obj = new URL(url);HttpURLConnection con = (HttpURLConnection) obj.openConnection();//设置请求方式con.setRequestMethod("GET");con.setDoOutput(true);int responseCode = con.getResponseCode();response.put("code",responseCode + "");if (responseCode == 200) {BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));String inputLine;StringBuffer responseBuffer = new StringBuffer();while((inputLine = in.readLine())!=null){responseBuffer.append(inputLine).append("\n");}in.close();response.put("result",responseBuffer.toString());}else{response.put("result","");}}catch (Exception e){response.put("result","failed");}return response;}//筛选中国区域的IPprivate static String parseOnline(String str1){String lists[] = str1.split("\n");StringBuilder sb = new StringBuilder();try {for (String str:lists) {if (str.startsWith("apnic") && str.contains("|CN|ipv4|")){String a[] = str.split("\\|");Integer mask = 32-(int)(Math.log(Double.valueOf(a[4]))/Math.log(2));sb.append(a[3]).append("/").append(mask).append('\n');}}} catch (Exception e) {e.printStackTrace();}return sb.toString();}
}

返回结果

apnicIp筛选中国地区IP相关推荐

  1. 判断一个IP是否属于中国地区

    在 Express.js 中,可以使用 `req.ip` 获取用户的 IP 地址.通常情况下,这个属性会返回当前请求的客户端的 IP 地址.但需要注意的是,在一些特殊情况下(如使用了代理服务器),`r ...

  2. 中国影视IP制作行业投资规划动态及发展趋向分析报告2022-2028年版

    中国影视IP制作行业投资规划动态及发展趋向分析报告2022-2028年版   [报告目录]:   第1章:影视IP制作基本概念及分类1.1 IP的基本概念 1.1.1 IP概念的提出 1.1.2 泛娱 ...

  3. 意甲官网在中国地区被假网劫持,竟声称赞助?

    请广大意甲球迷朋友小心辨别 谨防上当受骗 最近在各种不知名的二三流个人文章网站上通过广大球迷朋友对意甲联赛的热爱引起人们的关注的一篇假新闻--吉祥坊-WellBET是意甲官方赞助商,在大家的印象里对于 ...

  4. 中国地区三级联动下拉菜单的实现

    1.首先是js文件(area.js): 1 function Dsy() 2 { 3 this.Items = {}; 4 } 5 Dsy.prototype.add = function(id,iA ...

  5. 【遥感物候】1983-2012年时间序列中国地区GIMMS 3g NDVI下载(已进行旋转、格式转换、投影变换和裁剪)

    文章目录 1. 数据集简介 2. 数据集预览 3. 数据集下载 1. 数据集简介 本数据集为1983-2012年,长时间序列中国地区GIMMS 3g NDVI,空间分辨率为0.08333度,作者已完成 ...

  6. NGINX:nginx精准禁止特定国家或者地区IP访问

    转载来源 :NGINX:nginx精准禁止特定国家或者地区IP访问 :http://www.safebase.cn/article-258751-1.html 摘要: 要求:对网站的信息,比如某个访问 ...

  7. 互联网晚报 | 06月07日 星期二 | 杭州调整住房公积金政策;苹果发布iOS 16;特斯拉回应裁员是否涉及中国地区...

    特斯拉裁员约10%涉及中国地区吗?相关人士:目前还在大量招人 针对全球暂停招聘的消息,一名接近特斯拉中国的相关人士透露,目前没有听说裁员消息,前不久还在大规模招人."特斯拉中国这边招聘非常严 ...

  8. 中国地区三级联动下拉菜单

    原文地址为: 中国地区三级联动下拉菜单 <html> <head> <meta http-equiv="Content-Type" content=& ...

  9. 中国地区“MMM dd, yyyy HH:mm:ss a“的时间格式问题

    我们先来看以下代码: public class test {private final static DateTimeFormatter dtf1 = DateTimeFormatter.ofPatt ...

最新文章

  1. java代码使用http请求解压zip包并解析xml_Javascript 是如何解析 Excel 文件的?
  2. pandas loc iloc(self index location 即按照行索引来获取数据)
  3. ECS控制台支持创建资源时绑定标签
  4. 深入了解softmax
  5. rdd.foreach(print)报错SyntaxError: invalid syntax
  6. 论如何入门地使用vscode
  7. c++ windows forms 使用_从头开始了解和使用Hypervisor(第1部分)
  8. 版本向量 使用css时正确区分IE版本[转]
  9. 四十二、在线预览pdf文件
  10. CSDN上传自己的资源赚积分教程
  11. 火焰之纹章java武器代码_《火焰纹章回声:另一个英雄王》金手指全代码一览 代码大全...
  12. PHP毕业设计源码带论文和答辩、大作业、实例程序源码下载合集【21套】
  13. 音阶频率对照表_【乐理知识】音符与休止符时值对照表(建议收藏)
  14. 知识分享!电阻按照用途分类可以分为哪几种电阻?-道合顺大数据infinigo
  15. win10系统关机时提示(程序没有响应)需要结束程序
  16. rtb中的win_广告:RTB
  17. 财政收入影响因素分析及预测
  18. 放大电路的静态工作点的重要性
  19. 数字电路与C语言基础
  20. K11718 My Cow Ate My Homework[USACO-2017-Dec-S]

热门文章

  1. redis分布式锁原理与实现
  2. C# 生成软件注册码
  3. 2021年8月国产数据库排行榜:TiDB稳榜首,达梦返前三,Kingbase进十强,各厂商加速布局云生态
  4. swift语言基础语法思维导图
  5. 谈谈Solidity中的构造方法
  6. 基于 Vue+SQLite3开发吉他谱推荐网站【100010388】
  7. 3种出色的Gmail替代品
  8. 牌上的花色-MUD中的玩家(翻译)
  9. Windows Terminal在设置里把窗口模式改成专注以后要怎么调回来
  10. python路径中users标红报错解决