网络编程模块指引

计算机网络

通信协议组成
  • 语义部分 用于决定双方对话的类型
  • 语法部分 用于决定双方对话的格式
  • 变换规则 用于决定通信双方的应答关系
  • TCP(Transmission Control Protocol)
    • 传输控制协议,规定了一种可靠的数据信息传递服务
端口
  • 16位的整数,用于表示将数据交给哪个通信程序处理
  • 在同一台机器中不能有两个程序使用同一个端口,端口号可以为 0~65535
    • 公认端口(Well Known Port):端口号为 0~1023 绑定一些特定的服务
    • 注册端口(Registered Port):端口号为 1024~49151 应用程序通常使用这个范围内的端口
    • 动态和/或私有端口(Dynamic and/or Private Port)端口号为 49152~65535
小结
  • 应用程序 --> 人
  • 计算机网络 --> 邮递员
  • IP 地址 --> 个人所在地方的地址
  • 端口 --> 房间号

网络编程模块

模块描述
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协议的服务器端和客户端模块

urlib模块

请求
  • urllib.request:这是最核心的子模块,它包含了打开和读取 URL 的各种函数
    • urllib.request.open(url,data)
      • data 属性不仅可以发送 POST 请求,还可以发送 PUT、PATCH、DELETE等请求
    • urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)
      • 实例的add_header支持添加请求头之类
解析
  • urllib.error:主要包含由 urllib.request 子模块所引发的各种异常。
  • urllib.parse:用于解析 URL,返回ParseResult对象
    • urllib.parse.urlparse(urlstring, scheme='', allow_fragments=True)
    • urllib.parse.urlunparse(parts) 上一个函数的反向操作
url处理
- `urllib.parse.parse_qs(qs, keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace')`
  - 解析查询字符串(application/x-www-form-urlencoded 类型的数据),以 dict 形式返回解析结果,parse_qsl则以列表形式返回
- `urllib.parse.urlencode(query, doseq=False, safe='', encoding=None, errors=None, quote_via=quote_plus)`
  - 将字典形式或列表形式的请求参数恢复成请求字符串, parse_qs()、parse_qsl() 的逆函数
- `urllib.parse.urljoin(base, url, allow_fragments=True)`
  - 将一个 base_URL 和另一个资源 URL 连接成代表绝对地址的 URL
  - 从网站根路径开始 / ; 从scheme开始 //, 相对拼接无斜线开头
  • urllib.robotparser:主要用于解析 robots.txt 文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值