• 技术文章 >Python技术 >Python基础教程

    详细介绍Python网络编程模块

    silencementsilencement2019-07-08 09:40:00原创2415

    根据前面对网络分层棋型的介绍,我们知道实际的网络模型大致分为四层,这四层各有对应的网络协议提供支持,

    2-1Z30613020b25.gif

    网络层协议主要是 IP,它是所有互联网协议的基础,其中 ICMP(Internet Control Message Protocol)、IGMP(Internet Group Manage Protocol)、ARP(Address Resolution Protocol)、RARP(Reverse Address Resolution Protocol)等协议都可认为是 IP 协议族的子协议。通常来说,很少会直接基于网络层进行应用程序编程。

    传输层协议主要是 TCP 和 UDP,Python 提供了 socket 等模块针对传输层协议进行编程。

    应用层协议就更多了,正如图 1 所示的,FTP、HTTP、TELNET 等协议都属于应用层协议,Python 同样为基于应用层协议的编程提供了丰富的支持。

    虽然 Python 自带的标准库已经提供了很多与网络有关的模块,但如果在使用时觉得不够方便,则不要忘记了 Python 的优势,即大量的第三方模块随时可用于增强 Python 的功能。

    表 2 显示了 Python 标准库中的网络相关模块。

    模块描述
    socket基于传输层 TCP、UDP 协议进行网络编程的模块
    asyncoresocket 模块的异步版,支持基于传输层协议的异步通信
    asynchatasyncore 的增强版
    cgi基本的 CGI(Common Gateway Interface,早期开发动态网站的技术)支持
    emailE-mail 和 MLME 消息处理模块
    ftplib支持 FTP 协议的客户端模块
    httplib、http.client支持 HTTP 协议以及 HTTP 客户揣的模块
    imaplib支持 IMAP4 协议的客户端模块
    mailbox操作不同格式邮箱的模块
    mailcap支持 Mailcap 文件处理的模块
    nntplib支持 NTTP 协议的客户端模块
    smtplib支持 SMTP 协议(发送邮件)的客户端模块
    poplib支持 POP3 协议的客户端模块
    telnetlib支持TELNET 协议的客户端模块
    urllib及其子模块支持URL 处理的模块
    xmlrpc、xmlrpc.server、xmlrpc.client支持XML-RPC协议的服务器端和客户端模块
    专题推荐:网络编程模块
    上一篇:Python静态方法和类方法的区别和应用 下一篇:手把手教你从变量和赋值语句起学python

    相关文章推荐

    • Python进程之并行与并发的区别• Python进程之串行与并行• 一文带你读懂Python中的pickle模块

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网