Используется для Flask
реализации службы загрузки файлов, но эту услугу можно получить только во внутренней сети. Если вы хотите получить эту услугу во внешней сети, вам необходимо выполнить задачи покупки доменного имени, статического приложения IP
и разрешения доменного имени при нормальных обстоятельствах. Когда требования к стабильности службы невысоки, вы можете рассмотреть технологию проникновения во внутреннюю сеть для достижения внешней сети для получения службы загрузки файлов внутренней сети.
NATAPP
Это ngrok
отечественный инструмент высокоскоростного сопоставления интрасети. После регистрации вы можете бесплатно получить 2
туннель с различными протоколами, который можно использовать для сопоставления интрасети.
1. Файловый сервер
Следующий код реализует простой сервис загрузки файлов, который http://127.0.0.1:5000/download
можно загрузить , набрав в браузере test.txt
:
from flask import Flask, request, send_from_directory
app = Flask(__name__)
@app.route('/download',methods=['GET'])
def testdownload():
return send_from_directory(r"./",filename="test.txt", as_attachment=True)
if __name__ == "__main__":
app.run(host='127.0.0.1',port=5000)
2. NATAPP регистрация и покупка (бесплатно) туннеля
Перейдите на NATAPP
домашнюю страницу https://natapp.cn/
и нажмите кнопку регистрации, чтобы завершить регистрацию. Нажмите на страницу покупки туннеля, чтобы купить бесплатный туннель:
Туннельный протокол выбирает Web, и в нем Flask
настраивается локальный порт 5000
. После нажатия кнопки «Купить» будет сгенерирована информация о туннеле, содержащая аутентификационный токен. Эта информация используется для настройки клиентского программного обеспечения:
3. Загрузите клиент NATAPP и настройте config.ini.
NATAPP
Загрузите клиентское программное обеспечение на домашней странице и natapp.exe
создайте файл конфигурации в том же каталоге программного обеспечения . config.ini
Содержимое этого файла конфигурации выглядит следующим образом. Вам нужно вставить содержимое автокреста на шаге 2 в файл конфигурации:
#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -config= 可以指定任意config.ini文件
[default]
authtoken= #对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, none=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空
4. Запустите сервис
Запустите Flask
службу и NATAPP
службу NATAPP
последовательно. После запуска службы Forwarding
укажите адрес доступа к внешней сети в окне командной строки . Обратите внимание, что при каждом запуске NATAPP
службыАдрес изменится,
После запуска службы откройте сотовую сеть мобильного телефона и введите Forwarding
адрес, http://fyy9zi.natappfree.cc/download
чтобы начать загрузку файла.