- 浏览: 117410 次
- 性别:
- 来自: 武汉
文章分类
最新评论
此为开源代码,可以google上下载,项目名为:PySocks-1.0a4
下面为其中文件之一的IPv4_Tools.py:
"""IPv4_Tools - IPv4 helper functions module written in Python
Copyright (C) 2001 Xavier Lagraula
See COPYRIGHT.txt and GPL.txt for copyrights information.
This module provides a small set of classes and short functions to ease for
IPv4 protocols handling:
- is_routable: checks whether an IP address is routable or not (RFC 1918).
- is_port: checks whether an integer is a valid port number (1-65535)
"""
def is_routable(address):
"""def is_routable(address)
This function returns if a given IPv4 address is routable or not.
Parameters:
- address: IPv4 address - string - format: aaa.bbb.ccc.ddd
Return value:
- 0: address is not routable
- 1: address is routable
Routable addresses are defined as not pertaining to the following:
127.0.0.0 - 127.255.255.255 (127/8 prefix)
10.0.0.0 - 10.255.255.255 (10/8 prefix)
172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
192.168.0.0 - 192.168.255.255 (192.168/16 prefix)"""
# Splitting the address in its 4 components.
first, second, junk1, junk2 = address.split('.')
# Testing the address against the given intervals.
if (first in ['10', '127']
or (first == '172' and second >= '16' and second <= '31')
or ((first, second) == ('192', '168'))):
return 0
return 1
def is_port(port):
"""def is_port(port)
This functions returns if a given port is valid or not.
Parameters:
- port: integer
Return value:
- 0: port is a valid port
- 1: port is not a valid port
Valid ports are defined as in the interval 1-65535."""
return (port > 0) and (port < 65536)
注意两个"""之间的部分为注释,类似与C++中的/*和*/
除掉注释,此代码只有如下几行:
def is_routable(address):
first, second, junk1, junk2 = address.split('.')
if (first in ['10', '127']
or (first == '172' and second >= '16' and second <= '31')
or ((first, second) == ('192', '168'))):
return 0
return 1
def is_port(port):
return (port > 0) and (port < 65536)
这几行代码很简单:函数is_routable主要是检测address是否可路由,声明四个变量分别得到IPv4地址的四个byte,然后判断各个byte是否符合要求,符合要求就返回1,否则返回0;函数is_port返回port是否为合格的端口号。
发表评论
-
一个完整的php项目示例
2009-05-19 13:30 1280<script>function StorePag ... -
python起步
2009-05-21 00:15 583<script>function StorePag ... -
urllister.py源码分析
2009-05-22 00:08 1038<script>function StorePag ... -
fibonacci.py源代码分析
2009-05-22 23:24 608<script>function StorePag ... -
builddialectexamples.py源代码分析
2009-05-25 00:05 519<script>function StorePag ... -
piglatin.php源代码分析
2009-05-25 22:58 678<script>function StorePag ... -
plural.py源代码分析
2009-05-26 22:28 545<script>function StorePag ... -
regression.py源代码分析
2009-05-27 21:33 768<script>function StorePag ... -
apihelpertest.py源代码分析
2009-05-28 23:47 511<script>function StorePag ... -
argecho.py源代码分析
2009-05-30 00:44 592<script>function StorePag ... -
soundex.py源代码分析
2009-05-31 01:58 532<script>function StorePag ... -
plural1.py源代码分析
2009-05-31 22:27 584<script>function StorePag ... -
toolbox.py源代码分析
2009-06-01 23:00 544<script>function StorePag ... -
sum.py源代码分析
2009-06-03 00:14 689<script>function StorePag ... -
python打印变量的标识符、类型和值
2009-06-03 22:44 2110<script>function StorePag ... -
stringFormatting.py源代码分析
2009-06-04 23:49 483<script>function StorePag ... -
operator.py源代码分析
2009-06-05 23:12 539<script>function StorePag ... -
average.py源代码分析
2009-06-07 00:20 496<script>function StorePag ... -
square.py源代码分析
2009-06-08 00:05 590<script>function StorePag ... -
left.php源代码分析
2009-06-09 01:06 954<script>function StorePag ...
相关推荐
2.19 实现一个简单的递归下降分析器 2.20 字节字符串上的字符串操作 第三章:数字日期和时间 3.1 数字的四舍五入 3.2 执行精确的浮点数运算 3.3 数字的格式化输出 3.4 二八十六进制整数 3.5 字节到大整数的...
这种情况最好的办法就是维护一个代理IP池,网上有很多免费的代理IP,良莠不齐,可以通过筛选找到能用的。对于“频繁点击”的情况,我们还可以通过限制爬虫访问网站的频率来避免被网站禁掉。 proxies = {'...
图片爬取工具(CrawlWorm Picture)是一款专为使用Windows系统的用户打造的一个专业网络图片爬取工具,只需要输入自己需要抓取的网站地址,然后设置搜索参数,软件就会开始分析网页源码获取网站的图片资源,可同时执行...
本论文将使用Python语言,在PyCharm开发环境中去编写爬虫程序,通过selenium启动代理浏览器,在搜索文本框中输入搜索关键字,从Web服务器调用Web爬虫模块,接着爬虫模块检查Internet连接,如果网络连接成功,就处理...
MySQLMTOP是一个由Python PHP开发的开源MySQL企业数据库监控工具。系统由Python实现多进程数据采集和告警,PHP实现WEB展示和管理。MySQL服务器无需安装任何Agent,只需在监控WEB界面配置相关数据库信息,启动监控...
5.3 一个简单的演示模块 33 5.3.1 controllers 33 5.3.2 views 33 5.3.3 models 35 5.3.4 security 37 5.3.5 美化网页 38 5.4 加分项: 通过 pgadmin3 来查看数据库 39 5.4.1 安装 39 5.4.2 连接服务器 39 5.4.3 图形...
MySQL项目管理工具使用...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
5、直观管理所有MySQL服务器MySQL MTOP提供一个基于Web的界面,可令您全面深入地了解数据库性能、可用性、关键活动等;直观地查看一台服务器、自定义的应用组或所有服务器。一组丰富的实时图形和历史图形将帮助您...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. MySQL如何使用内存 ...
MySQL MTOP数据管理最新官方版,MySQL MTOP是一个由Python+PHP开发的开源MySQL企业监控系统。系统由Python实现多进程数据采集和告警,PHP实现WEB展示和管理。MySQL服务器无需安装任何Agent,只需在监控WEB界面配置...
在同一个数据库中创建多个表的缺陷 7.5. 优化MySQL服务器 7.5.1. 系统因素和启动参数的调节 7.5.2. 调节服务器参数 7.5.3. 控制查询优化器的性能 7.5.4. 编译和链接怎样影响MySQL的速度 7.5.5. ...
学生提问:既然内部类是外部类的成员,是否可以为外部类定义子类,在子类中再定义一个内部类来重写其父类中的内部类? 211 6.7.4 局部内部类 211 6.7.5 匿名内部类 212 6.7.6 闭包(Closure)和回调 215 6.8 ...