"""
客戶端:創建TCP連接時,主動發起連接的叫客戶端
服務端:接受客戶端的連接
"""
# 這個庫包含網絡編程所有東西
import socket
# 1. 創建一個socket
# 參數1:指定協議 AF_INET 或 AF_INET6
# 參數2:SOCK_STREAM 執行使用面向流的 TCP 協議
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2. 建立連接
sk.connect(('www.sina.com.cn', 80))
# 3. 發信息
sk.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection: close\r\n\r\n')
# 等待接受數據
data = []
while True:
# 每次接收 1K 的數據
tempData = sk.recv(1024)
if tempData:
data.append(tempData)
else:
break
dataStr = (b''.join(data)).decode('utf-8')
# 斷開連接
sk.close()
# print(dataStr)
dataStr.split()
headers, HTML = dataStr.split('\r\n\r\n', 1)
print(headers)
print(HTML)