博客
关于我
Python HTTP 服务实现内网传输
阅读量:606 次
发布时间:2019-03-12

本文共 1383 字,大约阅读时间需要 4 分钟。


如何在没安装共享文件夹和VM Tools情况下,通过Python传输文件到虚拟机

作为一名技术工作者,我知道很多人在使用虚拟机时会遇到一个常见问题:想要将本机的文件传输到虚拟机,却发现自己既没有配置共享文件夹,也没有安装VM Tools。这可是个头疼的事!

不过别担心,我今天遇到了一个巧妙的解决方案,这个方法既简单又安全,特别想给大家分享一下,让我先来详细讲解一下这个方法。

首先,确认你的主机系统是否安装了Python 3.6x以上的版本

作为开发者,我非常重视软件版本的匹配问题。为了确保我们运行的Python脚本能够稳定地工作,最好是使用Python 3.6x或更高版本。我的开发环境选择了Python 3.7的Anaconda3,这是一个非常完善的集成开发环境,它不仅能满足我们的开发需求,还能提供一个良好的运行环境。

接下来,我们需要创建一个服务器根目录文件夹

在企业内部网络中传输文件,其实原理就是通过主机在网络内部作为一个服务器,而虚拟机作为一个客户端,通过HTTP协议连接到主机的特定端口地址,就能访问该端口根目录下的文件。本着安全考虑,我们应该创建一个专门的服务器根目录文件夹,这样可以避免一}?的不必要的安全风险。

然后,我们需要获取本机的IP地址

在执行后续步骤之前,我们需要知道本机在网络中的IP地址。这个信息对虚拟机访问我们的服务器是非常重要的。以下是获取本机IP地址的方法:在命令提示符中输入“ip config”,系统会展示出你当前的网络配置信息。记住那个以192.168.1.x开头的IP地址,这将成为虚拟机访问我们服务器的一个非常重要的关键信息。

接下来,我们需要为服务器根目录启动一个Python HTTP服务器

来自网络上的一位高手(特别感谢cyx大哥的指导)给了我一个非常棒的解决方案。只需要在我们创建好的服务器根目录中打开PowerShell,然后输入以下命令:

python -m http.server 8080

这个命令会为我们创建一个默认端口号为8080的HTTP服务器。当然,你可以随意更改端口号,让它和你自己的喜好保持一致。这是非常方便的,因为它会自动地将根目录下的所有文件通过HTTP协议提供给网络上的其他设备访问。

最后,我们需要在虚拟机中使用浏览器访问这些文件

这可是个好办法!在我们的虚拟机中打开浏览器,输入你刚刚获取的本机IP地址,后面还需要跟一个我们设置好的端口号,比如

http://192.168.1.9:8080

这样一来,虚拟机就可以直接通过HTTP协议访问到本机的服务器根目录下的文件。整个过程简直像天马行空一样,所以简单。

这个方法虽然看起来有些巧妙,不过还是有几个需要注意的地方:

  • 确保你没有遗漏任何关键步骤,特别是获取本机IP地址这一步。如果在这一步出了问题,你可能会浪费很多时间在网络配置上

  • 安装Python和相关的HTTP服务器组件时,一定要按照官方文档或者指导书进行操作,避免因版本不兼容而造成意外情况发生

  • 一定要遵守安全规程,避免在不安全的网络环境中使用这个方法。如果你担心其他人的访问,设置一个简单的密码或者其他验证方式也是很好的选择

  • 总之,这个解决方案既简单又高效,特别在那些机构内部网络环境较为严格的情况下,它就是一个非常可靠的选择。希望这个方法能真正帮到你解决问题!

    转载地址:http://lxwaz.baihongyu.com/

    你可能感兴趣的文章
    mysql 使用sql文件恢复数据库
    查看>>
    mysql 修改默认字符集为utf8
    查看>>
    Mysql 共享锁
    查看>>
    MySQL 内核深度优化
    查看>>
    mysql 内连接、自然连接、外连接的区别
    查看>>
    mysql 写入慢优化
    查看>>
    mysql 分组统计SQL语句
    查看>>
    Mysql 分页
    查看>>
    Mysql 分页语句 Limit原理
    查看>>
    MySql 创建函数 Error Code : 1418
    查看>>
    MySQL 创建新用户及授予权限的完整流程
    查看>>
    mysql 创建表,不能包含关键字values 以及 表id自增问题
    查看>>
    mysql 删除日志文件详解
    查看>>
    mysql 判断表字段是否存在,然后修改
    查看>>
    MySQL 到底能不能放到 Docker 里跑?
    查看>>
    mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
    查看>>
    MySQL 加锁处理分析
    查看>>
    mysql 协议的退出命令包及解析
    查看>>
    mysql 参数 innodb_flush_log_at_trx_commit
    查看>>
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>