随笔 - 272  文章 - 0  评论 - 283  阅读 - 142万

用http实现文件共享(python和go语言示例)

平时工作中少不了文件共享,所以了解文件共享的方法很有必要。

文件共享有很多方法,大致分为以下几类:

1系统共享(windows共享或samba):

windows下我们可以借助windows共享完成简单的文件共享,linux下也可以用samba之类的软件轻松实现。

2ftp共享:

可以借助常见的ftp软件实现。

3http共享:

可以借助常见的web服务器(比如IISApache实现

今天我要介绍的是http文件共享

首先以IIS为例介绍下用常用的web服务器实现文件共享的方法,具体如下(以我机器为例):

1、打开IIS,打开“网站 --> 默认网站”,右键点击“属性”,点击“主目录”,勾选“目录浏览”选项,如下图所示: 

2、进入文件夹C:\Inetpub\wwwroot,拷贝文件“1.7z“到这个目录:

3、打开浏览器,输入本机ip(比如我的:192.168.1.123),即可看到共享的文件并可以下载:

点击“1.7z”即可下载。

这里我已经实现了文件共享,但如果我没有IIS或者Apache之类的web服务器软件怎么实现http文件共享呢?

没有就自己写一个用来共享文件的程序呗!

呵呵,可别被吓到,这个借助python或者go语言可以很轻松的实现:

1python实现http文件共享:

用过python的都知道python有一个很牛x的命令:

python -m SimpleHTTPServer 

C:\Python27下运行命令:

 打开浏览器,可以看到如下效果:

 这个命令的默认端口是8000,如果我再加一个端口参数,可以用其它端口进行访问,命令如下:

 打开浏览器:

知道了这个原理,可以写个bat文件,在需要的时候copy到相应的目录双击即可,比如我的httpShare.bat文件如下:

python -m SimpleHTTPServer 80

默认用80端口,访问时候只需要输入我的ip地址即可。

2go语言实现http文件共享:

上面的方法很方便,windowslinux通吃,不过前提是要安装python

这里我有个用go语言实现的,也是windowslinux通吃(windows下不知道怎么配置的可以参考我之前的文章:http://www.cnblogs.com/MikeZhang/archive/2012/02/09/windowsGo.html ),类似C/C++,是代码可移植,使用前你只需编译一次。

下面是示例代码(httpShare.go): 

复制代码
package main

import (
"http"
"fmt"
)

func main(){
h := http.FileServer(http.Dir("."))
var port string
fmt.Printf("Please input port Number: ")
fmt.Scanf("%s",&port)
http.ListenAndServe(":"+port, h)
}
复制代码

运行效果:

技术是为生活服务的,觉得那个简单就用那个吧,反正上面的几种方法都可以实现文件共享。

好,就这些了,希望对你有帮助。

posted on   Mike_Zhang  阅读(7589)  评论(2编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· DeepSeek “源神”启动!「GitHub 热点速览」
· 上周热点回顾(2.17-2.23)
< 2012年2月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 1 2 3
4 5 6 7 8 9 10

点击右上角即可分享
微信分享提示