1.从服务器上下载文件原理:当我们在浏览器/迅雷从服务器上下载文件时,它会在本地先建立一个文件,这个文件的名字跟想要下载的文件名字是一样的,然后从服务器读取到一点数据,就会write()到本地,一直这样循环,直至写完为止。
2.客户端发送下载文件请求:
1.创建套接字
2.链接服务器
3.发送下载文件请求
4.在本地创建一个文件名跟所要下载的文件名一样的文件
5.如果有数据,就创建新文件接收数据,否则,什么也不做
6.关闭
from socket import *
def main():
# 创建socket
tcp_client_socket = socket(AF_INET, SOCK_STREAM)
# 目的信息
server_ip = input("请输入服务器ip:")
server_port = int(input("请输入服务器port:"))
# 链接服务器
tcp_client_socket.connect((server_ip, server_port))
# 输入需要下载的文件名
file_name = input("请输入要下载的文件名:")
# 发送文件下载请求
tcp_client_socket.send(file_name.encode("utf-8"))
# 接收对方发送过来的数据,最大接收1024个字节(1K)
recv_data = tcp_client_socket.recv(1024)
# print('接收到的数据为:', recv_data.decode('utf-8'))