两行python代码实现一个http服务器,告别文件传输烦恼

精彩推荐

如何将“洗袜子”写成一篇优秀的毕业论文

讲真,计算机专业可能快“一统天下”了!

老程序员给初学者的一些建议和忠告

清华大学出版社重磅推出全新形态的计算机教材,教与学真的很简单!

本文已获授权

引言

如果你有一个文件需要在两台Linux服务器上进行传输,你会怎么办?

如果你要将Linux服务器上的文件传给不会编程的产品经理,你又会怎么办?

本文不仅有二胖录制的教学视频,文末更有福利哦!

1

问题引入

不知道大家有没有遇到过这样的问题:

在实际的开发过程中,很多时候我们都不直接在本机上开发,一般都在远程服务器上开发并运行程序。

比如二胖在实际开发中就会使用到很多台服务器:我有一台笔记本电脑,通过ssh连接着很多台服务器[如上图所示],我需要经常在不同的服务器上进行开发,所以总会遇到在不同计算机之间传输文件的情景。

可以归纳为以下几个情景:

个人电脑和个人电脑之间传递文件;

服务器和服务器之间传递文件;

服务器与个人电脑(笔记本)之间传递文件。

2

解决方法

我们先来说说第一个情景——个人电脑和个人电脑之间是如何传递文件的。个人电脑的操作系统基本都是图形界面的操作系统,比如Windows操作系统和MacOS操作系统,传递文件最简单的方法就是打开电脑或者电脑进行传递。

是不是感觉二胖在说废话啊?嘿嘿,我感觉也是的,不过为了让文章更加完整,二胖还是提及一下。其实很多公司内部都有自己的即时聊天系统软件,一般不会用和等第三方软件来进行数据传输,不过道理都是一样的。

好啦,现在来讨论第二个情景,服务器与服务器之间传递文件。

我想大部分童鞋最常使用的是 scp 命令来进行文件传递的吧。

scp命令是什么

简单来说,Linux scp就是用于Linux之间复制文件和目录的命令。

scp是 secure copy的缩写, scp是Linux系统下基于ssh登陆进行安全远程文件拷贝的命令。

scp [可选参数] file_source file_target

因为今天主要讲的不是scp命令,在这里就不过多阐述了,想要了解的童鞋可以点击下面这个视频,二胖录了个小教程讲解scp命令的用法。

今天的重磅是第三个情景——服务器与个人电脑之间的文件传递,相信很多同学这时候会迫不及待地说:“直接rz,sz命令不就得了吗,至于那么麻烦吗?”。

确实,sz/rz命令是Linux服务器与ssh客户端进行文件交互的命令,也就是上传和下载文件到服务器和本地。

sz:将选定的文件发送(send)到本地机器

rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)

确实,这两个命令是可以实现服务器与个人电脑之间上传下载文件的。不过有两个问题,当文件十分大的时候,对于部分电脑而言,sz/rz就会失败。还有,如果我们需要把文件传递给其他人,而不是从服务器上下载文件到本地,该怎么解决?

这两个命令也不细讲,对Linux命令行不太熟悉的童鞋可以关注我,之后我会录制Linux系统的基本使用教程,到时候大家可以详细了解。

现在我们继续了解第三种情景下,怎么用一行代码来搭建一个http服务器实现文件传输。

Python2:

python -m SimpleHTTPServer prot

Python3:

python3 -m http.server prot

下面就录制一个视频给大家进行详细讲解。当然http服务器如果只用来传文件就大材小用了,它还可以用来做web服务器。

用一行命令就可以运行这个http server了,赶快来制作你的第一个网站吧!

-END-

图文来自网络,有删减、如涉及版权问题,请联系我们以便处理。文章内容纯属作者个人观点,不代表本网观点。