调用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. MATLAB左除和右除

    矩阵的除法包括左除(A\B).右除(A/B)和点除(A./B)三种. 一般情况下,x = A\b是方程组A*x = b的解, 而x = b/A是方程组x*A = b的解, x = A./B表示同型矩阵 ...

  2. 使用jQuery清空file文件域的解决方案

    使用jQuery清空file文件域的解决方案 var file = $("#file") file.after(file.clone().val("")); f ...

  3. rabbitmq 安装和配置

    1.拉取镜像文件:docker pull centos 2.建立容器,且shell方式进入:docker run -it --name centos.rabbit centos /bin/bash 3 ...

  4. BAT-局域网内在线电脑IP

    相关资料:朋友发来的,来源不明. 问题现象:有个朋友问我都在一个内网中,电脑A没有显示器,怎么找到它的IP. 问题处理: 1.登陆路由器查看IP在线情况. 2.用BAT文件显示出在线IP. 显示局域网 ...

  5. delphi调用webservice (.NET C#版)

    uses XMLIntf, XMLDoc; XML to XTR文件转换 .File-->open打开你要分析的XML文件 .在左边选择你要分析的接点,双击加到中间的转换列表中 .Create- ...

  6. 初学SSH 配置+错误总结

    初学java web 一上手就接触ssh,前段时间,断断续续配置好了ssh,今天从Hibernate入手开始学习.先总结今天遇到的问题. 配置链接的是sqlserver的数据库,首先是下载了一个jdb ...

  7. # Writing your-first Django-app-part 4-simple-form

    简单的表单 处理表单提交-跳转/错误信息 处理表单提交--结果显示 通用view (generic view) 设计:越少代码越好? 1.修改DemoAppPoll/urls.py 2.修改DemoA ...

  8. CSS(九):设置盒子水平垂直居中

    通过设置下面的样式可以使盒子水平垂直居中: <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  9. PCL中分割方法的介绍(3)

    (3)上两篇介绍了关于欧几里德分割,条件分割,最小分割法等等还有之前就有用RANSAC法的分割方法,这一篇是关于区域生成的分割法, 区 域生长的基本 思想是: 将具有相似性的像素集合起来构成区域.首先 ...

  10. 一个从MongoDB中导出给定日期范围内数据的shell脚本

    #!/bin/sh ver=`date "+%Y%m%d"` #d1, the beginning date, eg:2017-06-28 d1=$1 d1=`date -d $d ...