Создание простого сервера сокетов, позволяющего другу загружать файлы из моего каталога

#python-3.x #sockets

#python-3.x #сокеты

Вопрос:

Я не уверен, что это правильный метод для выполнения этого с помощью Python, но я создал локальный веб-сервер и открыл порт в попытке разрешить моему другу получить доступ к определенным каталогам на моем компьютере. Мы оба используем Windows и надеялись найти Pythonic решение этой проблемы.

 import http.server

import socketserver
PORT = 7000
Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(("", PORT), Handler)
print("Sever at PORT :", PORT)
httpd.serve_forever()
  

Мой друг имеет доступ к каталогу, используя мой IP-адрес, и может просматривать содержимое, но она не может загрузить интересующие ее каталоги. Каталоги просто заканчиваются как HTML-файлы, когда она пытается загрузить.
Я не могу понять, как заставить ее загружать необработанное содержимое интересующих ее каталогов, используя Python.

Спасибо.

Комментарии:

1. Может ли она загружать отдельные файлы? Затем создайте zip-файл в папке и поделитесь.

2. @venky__ Zip работает. Единственная проблема в том, что если у меня есть 50 гигабайт данных, которые я хочу передать ей, я хотел бы разбить их на небольшие zip-файлы на случай сбоя соединения (соединение, похоже, медленное 500 КБ в секунду, несмотря на то, что у обоих хорошая скорость Интернета)

3. Вы можете попробовать создавать zip-файлы меньшего размера. После загрузки всех из них вы можете их извлечь webhostinghub.com/help/learn/website/managing-files/split-file . Восстановление пропускной способности лучший выбор — использовать любой облачный сервис. Но 50 ГБ — это слишком много при любом бесплатном плане. Вы можете создать примерно 4 аккаунта Google (по 15 ГБ каждый) и поделиться ими.

4. Любой HTML-сервер обслуживает каталоги как HTML-файлы.

Ответ №1:

Возможно, в этом случае вам лучше использовать SFTP-сервер. Ознакомьтесь https://pypi.org/project/sftpserver /

Вы можете получить доступ к SFTP-серверам из Windows с помощью WinSCP: https://winscp.net/eng/docs/guide_connect