前言
这几年一直在it行业里摸爬滚打,一路走来,不少总结了一些python行业里的高频面试,看到大部分初入行的新鲜血液,还在为各样的面试题答案或收录有各种困难问题
于是乎,我自己开发了一款面试宝典,希望能帮到大家,也希望有更多的Python新人真正加入从事到这个行业里,让python火不只是停留在广告上。
微信小程序搜索:Python面试宝典
或可关注原创个人博客:https://lienze.tech
也可关注微信公众号,不定时发送各类有趣猎奇的技术文章:Python编程学习
构造Web客户端及服务端
- 一个待返回的HTML页面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>This is a Test</title>
</head>
<body>
<div>你好,旅行者。</div>
</body>
</html>
- 编写服务端代码返回该网页
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 8001))
with open('1.html', encoding='utf-8') as fp:
data = fp.read()
response = "HTTP/1.1 200 OK \r\n" + \
"Server: abc \r\n" + \
"Content-Type: text/html;charset=utf-8\r\n" + \
"\r\n" + \
data
s.listen(5)
while 1:
try:
c, c_addr = s.accept()
print(c.recv(1024).decode())
c.send(response.encode())
c.close()
except KeyboardInterrupt:
break
s.close()
- 请求客户端代码
import socket
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
msg = "GET / HTTP/1.1\r\n" + \
"Host: 127.0.0.1\r\n"+ \
"Accept: text/html\r\n" + \
"\r\n"
c.connect(('127.0.0.1',80))
c.send(msg.encode())
data = c.recv(1024).decode()
print('[+] msg from Server:\n%s' % data)