博客
关于我
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/

    你可能感兴趣的文章
    Plotly 绘制表面 3D 未显示
    查看>>
    Plotly-Dash 存在未知问题并创建“加载依赖项时出错“;通过使用 Python-pandas.date_range
    查看>>
    Plotly-Dash:如何过滤具有多个数据框列的仪表板?
    查看>>
    Plotly:如何为 x 轴上的时间序列设置主要刻度线/网格线的值?
    查看>>
    Plotly:如何从 x 轴删除空日期?
    查看>>
    Plotly:如何从单条迹线制作堆积条形图?
    查看>>
    Plotly:如何以 Root 样式绘制直方图,仅显示直方图的轮廓?
    查看>>
    Plotly:如何使用 Plotly Express 组合散点图和线图?
    查看>>
    Plotly:如何使用 plotly.graph_objects 和 plotly.express 定义图形中的颜色?
    查看>>
    Plotly:如何使用 Python 对绘图对象条形图进行颜色编码?
    查看>>
    Plotly:如何使用 updatemenus 更新一个特定的跟踪?
    查看>>
    Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?
    查看>>
    Plotly:如何向烛台图添加交易量
    查看>>
    Plotly:如何在 plotly express 中找到趋势线的系数?
    查看>>
    Plotly:如何在桑基图中设置节点位置?
    查看>>
    Plotly:如何处理重叠的颜色条和图例?
    查看>>
    Plotly:如何手动设置 plotly express 散点图中点的颜色?
    查看>>
    Plotly:如何结合 make_subplots() 和 ff.create_distplot()?
    查看>>
    Plotly:如何绘制累积的“步骤“;直方图?
    查看>>
    Quartz进一步学习与使用
    查看>>