调用getRandomIp()方法即可
Framework3.5 +使用LINQ

public string getRandomIp()
{ /*
int[][]
这个叫交错数组,白话文就是数组的数组.
初始化的方法:
int[][] numbers = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
当然也可以使用{}初始化器初始化
int[][] numbers = { new int[] {2,3,4},
new int[] {5,6,7,8,9}
};
*/
int[][] range = {new int[]{,},//36.56.0.0-36.63.255.255
new int[]{,},//61.232.0.0-61.237.255.255
new int[]{,},//106.80.0.0-106.95.255.255
new int[]{,},//121.76.0.0-121.77.255.255
new int[]{,},//123.232.0.0-123.235.255.255
new int[]{-,-},//139.196.0.0-139.215.255.255
new int[]{-,-},//171.8.0.0-171.15.255.255
new int[]{-,-},//182.80.0.0-182.92.255.255
new int[]{-,-},//210.25.0.0-210.47.255.255
new int[]{-,-}, //222.16.0.0-222.95.255.255
}; Random rdint = new Random();
int index = rdint.Next();
string ip = num2ip(range[index][] + new Random().Next(range[index][] - range[index][]));
return ip;
} /*
* 将十进制转换成ip地址
*/
public string num2ip(int ip)
{
int[] b = new int[];
string x = "";
//位移然后与255 做高低位转换
b[] = (int)((ip >> ) & 0xff);
b[] = (int)((ip >> ) & 0xff);
b[] = (int)((ip >> ) & 0xff);
b[] = (int)(ip & 0xff);
x = (b[]).ToString() + "." + (b[]).ToString() + "." + (b[]).ToString() + "." + (b[]).ToString(); return x;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication1
{
class Program
{
static Dictionary<int, int> ips = new int[][]
{
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(, - + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray(),
Enumerable.Range(-, - + + ).ToArray()
}.SelectMany(x => x).Select((x, i) => new { x, i }).ToDictionary(x => x.i, x => x.x); static string IpToString(int IP)
{
return string.Join(".", BitConverter.GetBytes(IP).Reverse().Select(x => ((int)x).ToString()));
} static int GenIP()
{
return ips[new Random(Guid.NewGuid().GetHashCode()).Next(, ips.Count)];
} static void Main(string[] args)
{
for (int i = ; i < ; i++)
Console.WriteLine(IpToString(GenIP()));
}
}
}

加了比较不容易理解部分的注释..想弄明白的同学想必现在已经明白了吧

C# 随机获取国内IP的更多相关文章

  1. java 随机获取国内IP

    /* * 随机生成国内IP地址 */ public static String getRandomIp(){ //ip范围 int[][] range = {{607649792,608174079} ...

  2. php随机生成国内ip地址

    获得一个国家所有ip段,随机生成国内ip地址的缩水实现.注意:  $ip_long数组中后5个值在64位系统中可能是错误的(下面代码中  $ip_long 数组的后五个值在32位系统中为负数,64位系 ...

  3. 随机生成国内ip

    function rand_ip(){ $ip_long = array( array('607649792', '608174079'), //36.56.0.0-36.63.255.255 arr ...

  4. php随机生成国内IP

    public function rand_ip(){ $ip_long = array( array('607649792', '608174079'), //36.56.0.0-36.63.255. ...

  5. Python3.x:获取代理ip以及使用

    Python3.x:获取代理ip以及使用 python爬虫浏览器伪装 #导入urllib.request模块 import urllib.request #设置请求头 headers=("U ...

  6. 第三百四十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP

    第三百四十八节,Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP 设置代理ip只需要,自定义一个中间件,重写process_request方法, request ...

  7. 二十七 Python分布式爬虫打造搜索引擎Scrapy精讲—通过自定义中间件全局随机更换代理IP

    设置代理ip只需要,自定义一个中间件,重写process_request方法, request.meta['proxy'] = "http://185.82.203.146:1080&quo ...

  8. python3爬虫系列19之反爬随机 User-Agent 和 ip代理池的使用

    站长资讯平台:python3爬虫系列19之随机User-Agent 和ip代理池的使用我们前面几篇讲了爬虫增速多进程,进程池的用法之类的,爬虫速度加快呢,也会带来一些坏事. 1. 前言比如随着我们爬虫 ...

  9. python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性)

    python爬虫之反爬虫(随机user-agent,获取代理ip,检测代理ip可用性) 目录 随机User-Agent 获取代理ip 检测代理ip可用性 随机User-Agent fake_usera ...

随机推荐

  1. js设置cookie(原生js)

    cookie 与 session 是网页开发中常用的信息存储方式.Cookie是在客户端开辟的一块可存储用户信息的地方:Session是在服务器内存中开辟的一块存储用户信息的地方. JavaScrip ...

  2. LVS之NAT和DR服务脚本

    NAT服务控制脚本 #!/bin/bash # # chkconfig: - 88 12 # description: LVS script for VS/NAT # . /etc/rc.d/init ...

  3. django创建应用

    创建应用--在一个项目中可以创建多个应用,每个应用进行一种业务处理 打开CMD,进入project(目录名)的目录下,输入命令创建名为myApp的app: python manage.py start ...

  4. log4e下载地址

    Log4e的插件的下载地址:log4e.jayefem.de/content/view/3/1/

  5. php连接oracle数据库

    1.先安装一下oracle instant,把oci.dll所在的目录加入PATH环境变量里 或者直接安装oracle express php_pdo_oci 依赖于oracle 的oci.dll 2 ...

  6. Sublime Text2/3怎样在Mac OSX中配置CTags插件

    参考地址: http://jingyan.baidu.com/article/48206aeafba820216ad6b3f5.html

  7. Java中LinkedList实现原理

    数据结构 LinkedList是基于链表结构实现,所以在LinkedList类中包含了first和last两个指针(类型为Node).Node中包含了对prev节点.next节点的引用,这样就构成了双 ...

  8. [lsof]lsof查看哪些设备/文件被占用或者打开

    转自:http://blog.csdn.net/yuzhihui_no1/article/details/51767516 最近在查一个Bug,应用程序kill之后重启,总是会出现adc的设备open ...

  9. Android训练课程(Android Training) - 使用Volley传输网络数据(Transmitting Network Data Using Volley)

    使用Volley传输网络数据(Transmitting Network Data Using Volley) Volley 是一个 HTTP 库,它使得在Android应用程序中操作网络更容易,是重要 ...

  10. sql索引创建

    什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K .为了加快查找的速度,汉语字(词)典一般都有按拼音. ...