![]() 
 
'''
import requests
res = requests.get(
    "https://vd2.bdstatic.com/mda-nae3n9ssk12en6we/sc/cae_h232_delogo/1642214352000767797/mda-nae3n9ssk12en6c7.mp4?v_from_s=hkapp-haokan-hbe&auth_key=1645862871-0-0-bc029a5e7ae5746e98a9d0ed826461e6&bcevod_channel=searchbox_feed&pd=1&cd=0&pt=3&logid=2271091750&vid=5617093822891991609&abtest=100815_2-17451_1&klogid=2271091750")
with open("图片.jpg", "wb") as f:
    f.write(res.content)
'''
![]() 
'''
import socket
import json
# (1) 构建套接字对象,确定通信协议
sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
# (2) 绑定IP和端口
ip_port = ("127.0.0.1", 6784)
sock.bind(ip_port)
# (3) 监听最大排队数
sock.listen(2)
# (4) 阻塞等待客户端连接
while 1:
    print("server is waiting...")
    conn, addr = sock.accept()
    # print("conn", conn)
    # print("addr", addr)
    while 1:
        #  (2)接受来自客户端的文件信息
        data_json = conn.recv(1024)  # recv是一个阻塞函数
        data = json.loads(data_json.decode())
        print("data:", data)
        file_size = data["params"]["file_size"]
        file_name = data["params"]["file_name"]
        # (3)将接收到的文件数据一行行写入到新文件中
        receive_data_len = 0
        with open("" + file_name,"wb") as f:
            while receive_data_len < file_size:
                temp = conn.recv(1024)
                f.write(temp)
                receive_data_len += len(temp)
        print("文件上传成功") 
'''
![]() 
'''
import socket
import os
import json
# (1) 构建套接字对象,确定通信协议
sock = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
ip_port = ("127.0.0.1", 6784)
sock.connect(ip_port)
while 1:
    # 客户端给服务端发送消息
    params = input("请输入命令(比如上传文件put 文件路径):")
    cmd, local_path = params.split(" ")
    # (1) 将文件信息传给服务端
    file_size = os.path.getsize(local_path)
    file_name = os.path.basename(local_path)
    file_params = {"file_name": file_name, "file_size": file_size}
    data = {"cmd": cmd, "params": file_params}
    print("data", data)
    sock.send(json.dumps(data).encode())
    # (2) 循环读取文件,传给server端
    with open(local_path, "rb") as f:
        for line in f:
            sock.send(line)
    print("文件发送完毕")
'''