IP相关的方法

1、验证是否为IP地址

def isIP(ip, with_netmask=True):
    """
    判断IP的格式是否正确
    :param ip: IP字符串
    :param with_netmask: 后面是否携带 ‘/24‘的掩码
    :return:
    """
    if with_netmask:
        p = re.compile(‘^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?/(\d|[1]?\d?|2?[0-4]?))$‘)
    else:
        p = re.compile(‘^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?/(\d|[1]?\d?|2?[0-4]?))$‘)
    if p.match(ip):
        return True
    else:
        return False

判断是否为IP

2、将数字转化为掩码

 1 def num2netmask(num):
 2     """
 3     将24转化为255.255.255.0
 4     :param num: 数字
 5     :return: 掩码
 6     """
 7     if num > 32 or num <= 0:
 8         return None
 9     netmask_str = ‘1‘ * num + ‘0‘ * (32 - num)
10     netmask_list = [netmask_str[i:i + 8] for i in range(0, len(netmask_str), 8)]
11     netmask = ‘.‘.join(str(int(netmask_slice, base=2)) for netmask_slice in netmask_list)
12     return netmask

数字转化为掩码

时间: 2024-10-11 17:16:33

IP相关的方法的相关文章

华为ensp实验拓扑一熟悉常用的IP相关命令拓扑

实验编址 打开R1的命令行界面,默认是用户视图,在用户视图下,用户可以完成查看运行状态和统计信息等功能. <Huawei> 路由器主机名默认是Huawei 更改主机名要先进入系统视图 <Huawei>system-view [Huawei] [Huawei]sysname R1 输完以后退出当前模式 [R1]quit 保存配置用sav <R1>save <R1>save The current configuration will be written to

UI第九讲.UITableView表视图创建,表视图的重用机制,表视图的相关配置方法

一.UITableView表视图创建 1>.基本属性: UITableView继承自UIScrollView,所以可以滚动          表视图的每一条数据都是显示在UITableViewCell对象中          表视图可以分区显示数据,每个分区称为一个section,每一行称为row,编号都是从0始 2>.重要用法: 最重要的是两个代理方法 <UITableViewDelegate,UITableViewDataSource>(其中必须实现的是 numberOfRow

jQuery学习笔记--JqGrid相关操作 方法列表(上)

1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(json):$("#gridid").jqGrid('getRowData', id); 3.刷新列表:$(refreshSelector).jqGrid('setGridParam', { url: ''), postData: ''}).trigger('reloadGrid'); 4.选中行:$("#jqGrid

iOS文件路径相关的方法

文件路径相关的方法在NSPathUtilities中,主要是操作路径 获得一个路径 NSString *documents = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; //获得Document的路径<pre name="code" class="objc">//---~~~/Application/

Flask框架获取用户IP地址的方法

本文实例讲述了python使用Flask框架获取用户IP地址的方法.分享给大家供大家参考.具体如下: 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最基本的Flask使用方法. python代码如下: from flask import Flask, render_template, request # Initialize the Flask application app = Flask(__name__) # Default route,

用javascript得到客户端IP的新方法

javascript得到客户端IP的新方法 很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: <script type="text/javascript" src="http://fw.qq.com/ipaddress"></script> 它可以返回用户IP和地点,比喻: var IPData = new Array("220.181

php里获得ip的一些方法与原理

1.在php,一般用getenv("REMOTE_ADDR") 或者 $_SERVER['REMOTE_ADDR]获取ip: 此方法是在没有设置代理服务的情况下,客户端与服务器端握手的ip,如果设置了代理,那么将会显示代理的ip 2.如果设置了代理,并且是透明代理,什么是透明代理,我的理解是没有多次代理,只设置了一层代理,那么可以用getenv("HTTP_X_FORWARDED_FOR")或者$_SERVER["HTTP_X_FORWARDED_FOR&

获取IP相关信息和文件上传

获取IP相关信息 要获取用户访问者的IP地址相关信息,可以利用依赖注入,获取IHttpConnectionFeature的实例,从该实例上可以获取IP地址的相关信息,实例如下: var connection1 = Request.HttpContext.GetFeature<IHttpConnectionFeature>(); var connection2 = Context.GetFeature<IHttpConnectionFeature>(); var isLocal =

java笔记--关于Object类与线程相关的方法

关于Object类中的线程方法 Object类是所有Java类的 父类,在该类中定义了三个与线程操作有关的方法,使得所有的Java类在创建之后就支持多线程 这三个方法是:notify(),notifyAll(),wait(),这几个方法都是用来控制线程的运行状态的. 方法列表如下: notify() : 唤醒在此对象监视器上等待的单个线程 notifyAll() : 唤醒在此对象监视器上等待的所有线程 wait() : 在其他线程时调用此对象的notify()或者notifyAll()方法前,导