Python 网络编程

Python网络编程是关于使用python作为编程语言来处理计算机网络需求。 例如,如果创建和运行本地Web服务器,或者从带有模式的URL自动下载某些文件。

面向读者

本教程适用于愿意使用Python作为编程语言以简单易学的步骤学习网络编程的计算机科学专业的毕业生以及软件专业人士。

前提条件

在继续本教程之前,应该具有Python编程语言编写代码,使用任何python IDE以及执行Python程序的基本知识。 如果您是python的新手,请参考 Python教程以更好地理解熟悉Python语言。

教程目录

编号 主题 描述
1 Python网络编程简介 python非常适合网络编程领域。随着云计算的增长,网络编程已成为一个更加热门的话题,而python扮演着重要的角色。
2 Python网络编程开发环境 Python 3适用于Windows,Mac OS和大多数Linux操作系统。,介绍如何在这些系统上安装Python3.
3 Python Internet协议模块 Internet协议旨在在世界各地所有与Internet连接的计算机上实现统一的地址系统,并使数据包能够从Internet的一端传输到另一端。
4 Python IP地址 python模块ipaddress广泛用于验证IP地址并将其分类为IPV4和IPV6类型。 它还可以用于比较IP地址值以及用于处理ip地址的IP地址算法。
5 Python DNS查找 演示如何使用python模块dnspython管理域名到IP地址的转换,该模块还提供了查找CNAME和MX记录的方法。
6 Python路由 路由有助于更好地管理网页的结构,并显着提高网站的性能,并且进一步的增强或修改将变得非常简单。
7 Python HTTP请求 在Python中使用requests模块创建http请求,它是一个非常强大的模块,除了简单的请求和响应数据外,还可以处理http通信的许多方面。 它可以处理身份验证,压缩/解压缩,分块请求等。
8 Python HTTP响应 Web浏览器是客户端,托管网站的计算机是服务器。 在收到客户端的请求后,服务器会生成响应并将其以某种格式发送回客户端。
9 Python HTTP标头 客户端和服务器之间的请求和响应涉及消息中的标头和正文。 标头包含特定于协议的信息,这些信息在通过TCP连接发送的原始消息的开头出现。
10 Python自定义HTTP请求 超文本传输协议(HTTP)是用于启用客户端和服务器之间的通信的协议,它用作客户端和服务器之间的请求-响应协议。
11 Python请求状态代码 响应消息具有状态码。 它是一个三位数的整数,状态码的第一位数定义了响应的类别,而后两位则没有任何分类作用。
12 Python HTTP验证 认证是确定请求是否来自具有使用系统所需特权的有效用户的过程。
13 Python HTTP数据下载 演示如何使用处理ftp或文件传输协议的python模块从serer下载数据。
14 Python连接重用 Python提供了urllib3模块,该模块具有一些方法来处理客户端和服务器之间的连接重用。
15 Python网络接口 在一台机器上有多个接口时,需要跟踪它们的名称,状态等。Python可以列出接口及其状态。
16 Python Socket程序 Python提供对特定应用程序级网络协议(例如FTP,HTTP等)的更高级别访问的库。
17 Python HTTP客户端 在http协议中来自客户端的请求到达服务器,假定它是有效请求并获取一些数据和元数据。
18 Python HTTP服务器 Python标准库带有内置的网络服务器,可以通过程序分配端口号,并通过该端口访问Web服务器。
19 Python构建URL Python requests模块可以帮助构建URLS并动态处理URL值。
20 Python Web表单提交 与网页的交互需要一些数据通过html页面中的表单提交给服务器。requests模块使用带有所需参数的POST方法优雅地处理此问题。
21 Python数据库和SQL Python编程语言具有用于数据库编程的强大功能,Python还支持数据定义语言(DDL),数据操作语言(DML)和数据查询语句。
22 Python Telnet 在Python中,telnet由telnetlib模块实现,此模块具有Telnet类,该类具有建立Telnet连接所需的方法。
23 Python电子邮件 Python具有EmailMessage类,可用于构建电子邮件。 此类是自定义电子邮件消息不同部分(如TO和FROM标记,主题行以及电子邮件内容)所需的方法。
24 Python SMTP Python提供的smtplib模块中的SMTP对象具有一个称为sendmail的实例方法,该方法通常用于完成邮件的发送工作。
25 Python POP3 pop3协议是用于从电子邮件服务器下载邮件信息的电子邮件协议。
26 Python IMAP Python的客户端库imaplib用于通过imap协议访问电子邮件。
27 Python SSH SSH或安全套接字Shell,是一种网络协议,提供了一种访问远程计算机的安全方式。
28 Python FTP FTP或文件传输协议是一种众所周知的网络协议,用于在网络中的计算机之间传输文件。
29 Python SFTP FTP也称为SSH文件传输协议。它是一种网络协议,可通过任何可靠的数据流提供文件访问,文件传输和文件管理。
30 Python Web服务器 Python具有足够的通用性,可以创建许多类型的应用程序和驱动互联网或其他计算机网络的程序。
31 Python上传数据 使用处理ftp或文件传输协议的python模块将数据上传到服务器。
32 Python代理服务器 代理服务器用于通过另一台服务器浏览到某些网站,以便浏览保持匿名。
33 Python列出目录 Python可用于从目录获取内容列表。可以使用程序列出运行python的同一台计算机中目录的内容。
34 Python远程过程调用 远程过程调用(RPC)系统使我们可以使用在本地库中调用函数时所使用的语法来调用远程服务器上可用的函数。

随着python多年来作为一种编程语言的多功能性的发展,python也非常适合网络编程领域。随着云计算的增长,网络编程已成为一个更加热门的话题,而python扮演着重要的角色。以下是python用作网络编程首选语言的几个重要原因。

1. 套接字编程

套接字是客户端和服务器之间进行通信的连接。例如,当打开浏览器时,会自动创建一个套接字来与服务器连接。Python有一个套接字模块,可用于实现各种套接字功能,例如绑定地址或启动侦听器端口。套接字编程是计算机网络的基础,而python可以很好地处理它。

2. 客户端编程

客户端是请求信息并等待响应的计算机。可以编写Python程序来验证许多客户端操作,例如解析URL,在提交请求时使用URL发送参数,如果无法成功访问一个URL则连接到备用URL等。这些程序在客户端程序中运行,并且即使不使用浏览器,也可以处理与服务器的所有通信需求。例如,您可以提供python程序的URL来下载文件,该URL将由程序本身完成,而无需浏览器程序的帮助。

3. 构建Web服务器

Python可以创建简单的Web服务器,使其足以使用python作为编程语言来运行网站。Python已经有一些内置的Web服务器,可以对其进行调整以实现所需的一些其他功能。

SimpleHTTPServer模块提供了开箱即用的Web服务器功能,您可以从本地python安装开始运行它。在python 3中,它的名称为http.serverCherryPy和Tornado是用python编写的Web服务器的示例,其运行效果与非python知名的Web服务器(如Apache或Ngnix)一样好。

4. 网页抓取

python出名的重要原因之一是它在抓取网络所用的语言中占主导地位。它的数据结构和网络访问能力使其非常适合访问网页并自动下载其数据。而且,如果目标网站有一些API连接可用,则python将通过其程序结构更轻松地对其进行处理。

5. Python Web框架

Web Frame通过提供预定义的结构和模块化,使应用程序开发变得轻松快捷。开发人员必须进行最少的编码才能利用这些现有库并进行一些自定义以实现目标。Django和Flask是两个著名的公司,尽管它们是开源的,但它们已经在商业上得到了广泛应用。

6. 获取地理位置

Python具有处理地理数据的库。如果知道纬度和经度,则可以找到公司地址的名称,反之亦然。当然,它需要其他地图提供商的数据(例如Google地图)的帮助。Python的联网功能可以扩展到不同的地理边界。

下一章:Python 开发环境

Python 3适用于Windows,Mac OS和大多数Linux操作系统。尽管Python 2可用于许多其他操作系统,但Python 3尚未提供对Python 2的支持,所以这里不建议再使用。1. 本地环境设置打 ...