当前位置: 首页 > news >正文

Python 学习 第二册 第14章 网络编程

----用教授的方式学习

目录

14.1 几个网络模块

14.1.1 模块 socket

14.1.2 模块 urllib 和 urllib2

14.1.3 其他模块

14.2 SocketServer 及相关的类

14.3.1 使用 SocketServer 实现分叉和线程化

14.3.2 使用 select 和 poll 实现异步 I/O 

14.4 Twisted 

14.4.1 下载并安装 Twisted 

14.4.2 编写 Twisted 服务器


14.1 几个网络模块

14.1.1 模块 socket

网络编程中的一个基本组件是套接字(socket)。套接字基本上是一个信息通道,两端各有一个程序。

套接字分为两类:服务器套接字和客户端套接字。创建服务器套接字后,让它等待连接请求的到来。

使用举例:

最简单的服务器

import socket 
s = socket.socket() 
host = socket.gethostname() 
port = 1234 
s.bind((host, port))
s.listen(5)
while True: c, addr = s.accept() print('Got connection from', addr) c.send('Thank you for connecting')c.close()

最简单的客户端

import socket 
s = socket.socket() 
host = socket.gethostname() 
port = 1234 
s.connect((host, port))
print(s.recv(1024))

14.1.2 模块 urllib 和 urllib2

1. 打开远程文件

几乎可以像打开本地文件一样打开远程文件,差别是只能使用读取模式,以及使用模块urllib.request中的函数urlopen,而不是open(或file)。

>>> from urllib.request import urlopen 

>>> webpage = urlopen('http://www.python.org') 

2. 获取远程文件

函数urlopen返回一个类似于文件的对象,可从中读取数据。如果要让urllib替你下载文件,并将其副本存储在一个本地文件中,可使用urlretrieve。

urlretrieve('http://www.python.org', 'C:\\python_webpage.html')

14.1.3 其他模块

标准库中一些与网络相关的模块

模 块 

描 述

asynchat 

包含补充asyncore的功能

asyncore 

异步套接字处理程序

cgi 

基本的CGI支持

Cookie 

Cookie对象操作,主要用于服务器

cookielib 

客户端Cookie支持

email 

电子邮件(包括MIME)支持

ftplib 

FTP客户端模块
http://www.lryc.cn/news/374902.html

相关文章:

  • 微信 小程序应用,页面,组件的生命周期
  • 代码随想录算法训练营Day41|背包问题、分割等和子集
  • oracle SCHEDULER
  • 实现虚拟机的难点
  • JAVA-线程
  • 代码随想录——电话号码的字母组合(Leetcode17)
  • 多款可观测产品全面升级丨阿里云云原生 5 月产品月报
  • python实践笔记(三): 异常处理和文件操作
  • Excel VLOOKUP 使用记录
  • Spring Cloud Stream 消息驱动基础入门与实践总结
  • 你好rust
  • STM32 printf 重定向到CAN
  • jmeter性能优化之mysql监控sql慢查询语句分析
  • 海南聚广众达电子商务咨询有限公司引领行业变革
  • Unity API学习之资源的动态加载
  • C++算法——回溯
  • java的深拷贝和浅拷贝
  • AI产品经理,应掌握哪些技术?
  • 同三维T80004EHL-W-4K30 4K HDMI编码器,支持WEBRTC协议
  • Hi3861 OpenHarmony嵌入式应用入门--点灯
  • SaaS案例分享:成功构建销售渠道的实战经验
  • 密钥管理简介
  • 2024中国应急(消防)品牌巡展成都站成功召开!
  • ansible-Role角色批量按照node_export节点,并追加信息到Prometheus文件中
  • 求最小公倍数 、小球走过路程计算 题目
  • 【Android面试八股文】你能说一说为什么IO是耗时操作?
  • 怎样增强 CLike 游戏的社交功能,促进玩家之间的互动和交流?
  • 12_YouOnlyLookOnce(YOLOv3)新一代实时目标检测技术
  • 安装 Nuxt.js 的步骤和注意事项
  • 【perl】环境搭建