![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络
cswhl
编码使人快乐
展开
-
Pexpect模块使用
1 Pexpect的作用pexpect 是 Python 语言的类 Expect 实现,Expect 程序主要用于人机对话的模拟,就是那种系统提问,人来回答 yes/no ,或者账号登录输入用户名和密码等等的情况。Pexpect能够产生子应用程序并控制他们,能够通过期望模式对子应用的输出做出反应。Pexpect允许你的脚本产生子应用、控制他们像一个人类在输入命令一样,Pexcept人机模拟对话的大致过程:1、 运行程序2、 程序要求人的判断和输入3、 Expect 通过关键字匹配4、 根据关原创 2020-12-29 21:50:44 · 3061 阅读 · 0 评论 -
socktet粘包问题解决
socket粘包问题socket系统调用会将要发送的数据从用户空间copy到内核空间,这样频繁的交换操作会耗费资源,为提高效率,会收集到较多的数据才一起发送。如果数据少的几个包一起发送就会造成粘包。只有tcp可能存在粘包问题:TCP基于字节流,没有消息边界、数据包的概念,应用层协议如果没有使用基于长度或基于终结符的消息边界,就会导致多个消息粘连,接收端无法。udp永远不会粘包:udp保留了消息边界,每次操作发送一个IP数据报,不考虑分片。接收端每次都会收到一个完整的udp数据包,因此不会产生多个原创 2020-12-28 11:38:14 · 265 阅读 · 0 评论 -
subprocess模块使用
subprocess — Subprocess managementsubprocess允许你生成新的processes,并连接到这些processes的input/output/error pipes,从而获取返回值subprocess.run(…)生成一个新的进程,运行args描述的命令,等待命令完成后返回CompletedProcess实例,从该实例中可以获取新进程的运行结果。subprocess.run缺点是不能与子进程进行交互,但是读取执行结果却很方便原型:subprocess.run原创 2020-12-24 14:43:39 · 1718 阅读 · 0 评论 -
python selectors模块使用
selectors — High-level I/O multiplexingSelectorKeys对象用于关联file object和其底层fd的namedtuple,如:SelectorKey(fileobj=<socket.socket fd=5, family=AddressFamily.AF_INET, type=2049, proto=0, laddr=('192.168.18.129', 35990), raddr=('23.23.154.131', 80)>, fd=5,原创 2020-12-23 09:48:22 · 2178 阅读 · 0 评论 -
socketserver模块使用
socketserversocketserver在内部使用IO多路复用以及多线程/进程机制,实现了并发处理多个客户端请求的socket服务端。每个客户端请求连接到服务器时,socketserver服务端都会创建一个“线程”或者“进程” 专门负责处理当前客户端的所有请求Request Handler Objects请求处理对象处理器接收数据并决定如何操作。BaseRequestHandler是超类提供所有接口,其派生的子类实现这些接口的具体细节。StreamRequestHandler和Datagra原创 2020-12-23 09:42:01 · 761 阅读 · 0 评论 -
HTML中chunked解码和gzip解压
chunked编码chunked编码的的好处当访问的时动态页面时,服务器则无法预知内容的大小,因此需要一遍产生数据,一边发送数据,将数据分块发送(服务器通过响应头’Transfer-Encoding: chunked’告诉浏览器它将使用chunked编码传输)。浏览器也不需要等到内容字节全部下载完成,只要接收到一个chunked块就可解析页面,并且可以下载html中定义的页面内容,包括js,css,image等。更多优点如下:1.允许服务器为动态生成的内容维持HTTP持久链接。通常,持久链接需原创 2020-12-01 18:22:06 · 3016 阅读 · 0 评论 -
浏览器如何将你的http请求转为https请求?
1、问题向浏览器中输入“taobao.com” “www.taobao.com” “http://www.taobao.com”,最终浏览器的显示却变成“https://world.taobao.com/”,如何实现的?2、实现实现的机制就是HTTP重定向什么是HTTP重定向?当浏览器向服务器发送一个url请求,然后服务器返回给浏览器一个响应,告诉浏览器按它响应中提供的url重新发起请求重定向原理图常见重定向301:永久重定向,其它方法可能变更为GET302:临时重定向,其它方法可能变更为原创 2020-11-26 12:35:54 · 3222 阅读 · 0 评论