- 浏览: 124713 次
- 性别:
- 来自: 武汉
-
文章分类
最新评论
此为开源代码,可以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 1331<script>function StorePag ... -
python起步
2009-05-21 00:15 630<script>function StorePag ... -
urllister.py源码分析
2009-05-22 00:08 1085<script>function StorePag ... -
fibonacci.py源代码分析
2009-05-22 23:24 640<script>function StorePag ... -
builddialectexamples.py源代码分析
2009-05-25 00:05 547<script>function StorePag ... -
piglatin.php源代码分析
2009-05-25 22:58 715<script>function StorePag ... -
plural.py源代码分析
2009-05-26 22:28 596<script>function StorePag ... -
regression.py源代码分析
2009-05-27 21:33 813<script>function StorePag ... -
apihelpertest.py源代码分析
2009-05-28 23:47 547<script>function StorePag ... -
argecho.py源代码分析
2009-05-30 00:44 638<script>function StorePag ... -
soundex.py源代码分析
2009-05-31 01:58 571<script>function StorePag ... -
plural1.py源代码分析
2009-05-31 22:27 621<script>function StorePag ... -
toolbox.py源代码分析
2009-06-01 23:00 581<script>function StorePag ... -
sum.py源代码分析
2009-06-03 00:14 806<script>function StorePag ... -
python打印变量的标识符、类型和值
2009-06-03 22:44 2157<script>function StorePag ... -
stringFormatting.py源代码分析
2009-06-04 23:49 516<script>function StorePag ... -
operator.py源代码分析
2009-06-05 23:12 588<script>function StorePag ... -
average.py源代码分析
2009-06-07 00:20 530<script>function StorePag ... -
square.py源代码分析
2009-06-08 00:05 636<script>function StorePag ... -
left.php源代码分析
2009-06-09 01:06 991<script>function StorePag ...
相关推荐
Scrapy是一个用Python编写的开源框架,专门用于构建网络爬虫项目。它提供了完整的解决方案,包括数据抓取、处理、存储等多个环节,使得开发者可以专注于编写爬虫逻辑,而无需关注底层实现的细节。Scrapy的核心组件...
该压缩包文件“python服务器监控系统源码数据库演示.zip”包含了一个基于Python的服务器监控系统的完整源码和数据库,这是一份毕业设计项目,已经获得了教师的高度评价。它使用了Django框架,这是一个流行的Python ...
Python进销存系统源码是一种基于Python编程语言开发的软件,用于管理企业的进货、销售和库存等业务流程。这样的系统通常包含多个模块,用于跟踪商品的流动,优化库存管理,提高运营效率。以下是对该系统可能涉及的...
【Python爬虫源码实例——京东评论爬虫详解】 在Python编程领域,网络爬虫是一项重要的技术,它能帮助我们自动地从互联网上获取大量数据。在这个“python京东评论爬虫”的实例中,我们将深入探讨如何利用Python进行...
**Python-一个简单的Python爬虫** 在Python编程领域,Web爬虫是一种常用的技术,用于自动地从互联网上抓取信息。Python因其丰富的库支持和简洁的语法,成为了编写爬虫的首选语言。在这个主题中,我们将深入探讨如何...
本资源的"用Python写网络爬虫+源码"文件,提供了实践案例,对于初学者而言,可以按照章节逐步学习,每个实例都是一个完整的爬虫项目,有助于理解和掌握Python爬虫的各个环节。通过这些实例,你可以亲自编写、运行...
本资源包含的是“2021年9个常用的python爬虫源码”,这将帮助初学者快速入门,同时也为经验丰富的开发者提供了参考和灵感。 1. **基础爬虫框架** - Python中常见的爬虫框架有BeautifulSoup、Scrapy和Requests+...
在这个“http代理服务器的实现(程序).rar”压缩包中,我们很可能会找到一个实现了HTTP代理功能的源代码程序,这对于学习网络编程、理解HTTP协议以及代理服务器的工作原理是非常有价值的。 首先,我们要了解HTTP协议...
本项目是基于Python实现的一个BBS(Bulletin Board System,电子公告板)论坛源码,非常适合用于学习和实践Python Web开发技术,特别是对于那些寻求毕业设计项目的同学来说,这是一个很好的起点。 在BBS论坛源码中...
5. 日志管理模块:记录代理服务器的操作日志,便于后续的分析和排查问题。 具体到本压缩包中的文件,包含了完整的程序源码,开发者可以使用这些代码来搭建自己的HTTP代理服务器。此外,还可能包含了编译环境配置...
- **Flask**或**Django**:作为Web框架,用于构建一个简单的后台服务器,展示分析结果或提供API接口。 - **前端技术**:可能结合HTML、CSS和JavaScript构建用户界面,用以交互式展示数据。 6. **版本控制**: - ...
【Python美甲预约系统源码】是一个基于Python编程语言开发的应用程序,主要用于提供美甲服务的在线预约功能。...通过分析和研究此源码,开发者不仅可以提升Python技能,还能了解到如何构建一个完整的在线预约系统。
例如,使用`requests.get(url)`可以发送一个GET请求到指定URL,返回的Response对象包含了服务器的响应信息,如状态码、响应头和响应体。 2. **BeautifulSoup库**:这个库主要用于解析HTML和XML文档。它提供了强大的...
这个Python实战项目是一个BBS(Bulletin Board System,电子公告板)论坛的源码,它包含了实现论坛功能的各种脚本和可执行文件。这样的项目对于学习Python编程,特别是Web开发技术非常有帮助。以下是对这个项目中...
在 Mosquitto 的实现中,使用了一个中间层服务器来维护多对多的关系,使得客户端之间的关系变得简单化。这使得客户端的开发和维护变得更加方便。 此外,Mosquitto 还提供了丰富的 API 和工具,例如 mosquitto_pub ...
2. **代理服务器**:代理服务器是位于客户端和目标服务器之间的一个中间节点,它可以转发用户的请求到目标服务器,并将服务器的响应返回给用户。代理服务器的作用包括缓存、访问控制、匿名浏览、负载均衡等。在本...
基于Python的招聘网站数据爬虫设计源码项目,不仅是一个编程实践的展示,也是对网络数据采集技术应用的一次深入探索。它通过技术手段,为人力资源管理提供了新的解决方案,同时也提醒开发者在开发类似系统时要兼顾...
代理IP就像一个中间人,它接收来自你的请求,然后以自己的IP地址转发给目标服务器,最后再将响应返回给你。这样,目标服务器看到的是代理IP,而不是你的实际IP,有助于避免频繁请求导致的IP封锁。 检测代理IP有效性...
Python基于Django的电影系统源码是一个典型的Web应用开发项目,它展示了如何使用Python的Django框架构建一个功能完备的在线电影信息系统。Django是一个高级的、免费的开源Web框架,它遵循模型-模板-视图(Model-...
标题"基于python+django的天天生鲜的电商项目源码.zip"表明这是一个使用Python的Django框架开发的电子商务项目,名为“天天生鲜”。该项目专注于生鲜食品的在线销售,源代码被压缩在ZIP文件中。描述中的内容与标题...