import socket
# 1.创建会话
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 指定协议:AF_INET或AF_INET6;SOCK_STREAM表示执行面向流的TCP协议
# 2.建立链接
sk.connect(('www.pyqt5.cn', 80)) # 指定链接地址和端口号,connect一般用于一次性连接bind一般用于绑定持续连接
# 3.发送请求
# GET:请求方法;HTTP:协议为1.1;Host:IP或网址和端口号,默认为80端口;Connection:链接;close:断开还可以是keep-alive(保持链接)
# 注意这里的换行和空格也不能写错,这是一种固定的写法,主要用于请求别人的服务器
sk.send(b'GET / HTTP/1.1\r\nHost: www.pyqt5.cn\r\nConnection: close\r\n\r\n')
# 4.等待数据
data = []
while True:
re_data = sk.recv(1024) # 每次接受1024个字节,相当于读取
if re_data:
data.append(re_data)
else:
break
data_str = (b''.join(data)).decode('utf-8')
# 5.断开连接
sk.close()
print(data_str)