利用 Python 的 SimpleHTTPServer 实现内网传输
吐槽:
经常想向ipad发张图,要打开这个打开那个,很烦。虽然说有QQ等工具,但还是不够便利。
不如直接把当前目标变成一个网站,ipad上直接访问不就行了。
正好 python 就提供了这个功能。可以一条命令就创建一个http服务。
并把这个功能加在右键上,这样只要右键一点。就可以在其它设备上像浏览网页一样访问这个目录了。
开工:
现在我们就来利用 Python 2.x
的 SimpleHTTPServer
开启一个临时的Web服务,实现 本本向:平板、手机等设备传送文件。
我们要用的工具 python,如果没有的话自己装上。(记得安装过程中要勾选加进环境变量。如果不喜欢安装的可以用绿色版本Python 参考 1 )
方案一:直接把命令添加到右键
在注册表里执行2条命令
- 首先用记事本创建一个文件,把下面内容粘贴进去。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\1Python SimpleHTTPServer]
@="SimpleHTTPServer"
"Icon"="%SystemRoot%\\system32\\shell32.dll,-14"
[HKEY_CLASSES_ROOT\Directory\Background\shell\1Python SimpleHTTPServer\command]
@="cmd /c \"start http://localhost/\"&&python.exe -m SimpleHTTPServer 80"
保存为 **添加SimpleHTTPServer到右键.reg ** 然后双击导入就行了。
如果不希望自动打开浏览器请去掉这段\"start http://localhost/\"&&
这段注册表内容,为我们添加了一个右键菜单。
提示
别外如果你本机装了php环境,并且要你想测试的是php文件。那么可以把这句
python.exe -m SimpleHTTPServer 80
改成这句:
php.exe -S 0.0.0.0:80
自己在目录下打开 CMD 试试
python.exe -m SimpleHTTPServer 80
注意:如果提示 No module named SimpleHTTPServer
说明你可能用的不是 python2.x
python3
没有 SimpleHTTPServer
模块了,改为了:
python3 -m http.server 80
在当前目录开启HTTP服务,80是端口,根据自己需要改。
方案二:点击右键菜单后调用一个脚本
如果你需要执行更复杂的功能,直接调用一条命令肯定是不够的,那就让右键直接调用一个脚本比如 bat 或 vbs 等等。
然后可以在 bat 或 vbs 这些脚本里去实现你要的具体功能。
- 首先用记事本创建一个文件,把下面内容粘贴进去。
start http://localhost/
python.exe -m SimpleHTTPServer 80
保存为 SimpleHTTPServer.bat 这样我的批处理脚本就OK了。
放在 D盘根目录(这个按你个人需要。放在哪都可以,只要下面的注册表中对应的地址也要跟着换)
如果不希望自动打开浏览器请去掉这行start http://localhost/
- 接着再用记事本创建一个文件,把下面内容粘贴进去。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\1Python SimpleHTTPServer]
@="SimpleHTTPServer"
"Icon"="%SystemRoot%\\system32\\shell32.dll,-14"
[HKEY_CLASSES_ROOT\Directory\Background\shell\1Python SimpleHTTPServer\command]
@="\"D:\\SimpleHTTPServer.bat\""
保存为 **添加SimpleHTTPServer到右键.reg ** 然后双击导入就行了。
注意 斜杠和引号都要在前面加上转义符 \ 来输出,所以上面注册表文件中的
"D:\SimpleHTTPServer.bat"
就变成了 "\"D:\\SimpleHTTPServer.bat\""
用法:
在要传送的文件所在的目录,点击右键SimpleHTTPServer
就会出现命令行界面:我是在 D:\Python27 目录下操作的,所以现在这个目录就成网站的根目录了。
现在只要是在同一个局域网的设备都可以访问了。
查看内网 IP:
如果不知道本机的内网 IP 可以这么查寻:
- WIN + R 打开运行窗口
- 输入 cmd 打开命令行
- 在黑框框中输入 ipconfig 回车
- 就可以看到本机的 IP了 (IPv4 地址)
参考资料
工具收集 - LocalSend(内网传输) 不喜欢折腾的朋友可以直接用现成的工具