Skip to main content

Python 入门基础知识 - Python网络编程

Python 入门基础知识 - Python网络编程

Python网络编程

Python的标准模块中提供了对网络编程的支持。在Python中,可以使用socket模块进行底层的网络编程,

也可以使用urllib、httplib、ftplib、poplib和smtplib等模块针对特定的网络协议进行编程。除了

Python的标准模块以外,还可以使用Twisted进行网络编程。Twisted支持多种底层协议,使用Twisted

可以更加方便的编写网络应用程序。

使用socket模块

Python中的socket模块进行了底层的网络接口,使用Python的socket模块可以实现网络上不同计算机之间

的socket通信。Python中的socket实现了BSD(Berkeley Software Distribution)套接字标准。

网络编程概述

网络服务都是建立在socket基础之上。socket是网络连接端点,是网络的基础。每个socket都被绑定到指定

的IP和端口上。

每台处于网络中的计算机都有一个IP地址来标识自己的位置。IP地址是一个32位长的二进制数,为方便起见,

IP地址通常由小于255的4组整数组成,每组数之间用"."隔开。例如"123.45.67.89",如果将其写成二进制

的形式,则是"01111011001011010100001101011001"。有些IP地址比较特殊,例如127.0.0.1,它总是指向

本机,而以"192.168.*.*"开头的则只能用于局域网中。

IP地址还可以和域名绑定,例如,IP地址82.94.237.218绑定到了www.python.org域名上。使用82.94.237.218

同样可以访问Python的官方网站,但显然IP地址不如域名更容易记忆。

除了IP地址,使用socket时还需指定计算机端口。计算机端口的范围值是0~65535,其中小于1024的都是系统所保留的端口,

或者一些网络服务所使用的端口。例如,FTP服务使用21端口,Web服务使用80端口,系统也使用一些较大的端口,

例如,Windows系统中著名的3389端口

IP和端口表明了计算机在网络中的位置,类似于邮政编码和详细地址。计算机之间为了进行通信还需要遵循特定的计算机

网络协议。常见的网络协议有一下几种。

TCP/IP协议,即传输控制协议/互联网协议,其用于在安装了不同硬件和不同操作系统的计算机之间时间可靠的网络通信。

其中,TCP协议用于保证数据包传输的可靠性,IP协议用于保证数据包能被传送到目标计算机。

NetBIOS协议,是由IBM公司开发的,主要用于小型局域网。NetBIOS协议为程序提供了请求低级服务的统一的命令接口,几乎所有的局域网都是在NetBIOS协议的基础上工作的。

FTP协议,及文件传输协议。FTP是Internet中使用最多的文件传输协议。通过FTP协议可以使用客户端从FTP服务器上

下载各种文件。

Telnet协议,即远程登录协议,使用Telnet协议可以登录到远程计算机上。目前仍有很多额BBS可以使用Telnet登录。

HTTP协议,即超文本传输协议,其用于传送WWW方式的数据。

PPP协议,即点对点协议,其主要用来创建电话线路以及ISDN拨号接入ISP的连接,具有多种身份验证方法、数据压缩和

加密以及通知IP地址等功能。

PPPoE协议,即以太网上的点对点协议,其广泛用户ADSL接入方式,也就是常说的宽带。通过PPPoE技术和宽带调制解调器,

用户可以创建虚拟拨号,连接到Internet上。

版权声明

版权声明

durban.zhang 创作并维护的 Walkerfree 博客采用 创作共用保留署名-非商业-禁止演绎4.0国际许可证。本文首发于 Walkerfree 博客(http://www.walkerfree.com/),版权所有,侵权必究。本文永久链接:http://www.walkerfree.com/article/87