#利用 Python 的 SimpleHTTPServer 实现内网传输

##吐槽:
经常想向ipad发张图,要打开这个打开那个,很烦。虽然说有QQ等工具,但还是不够便利。
不如直接把当前目标变成一个网站,ipad上直接访问不就行了。
正好 python 就提供了这个功能。可以一条命令就创建一个http服务。 并把这个功能加在右键上,这样只要右键一点。就可以在其它设备上像浏览网页一样访问这个目录了。

##开工: 现在我们就来利用 Python 的 SimpleHTTPServer 开启一个临时的Web服务,实现 本本向:平板、手机等设备传送文件。

我们要用的工具 python,如果没有的话自己装上。(记得还要加进环境变量,具体怎么操作不会的话度娘吧)

###方案一:直接把命令添加到右键
在注册表里执行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 那就换成:
python -m http.server 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

ipadVLC 局域网 nfs 设置 ipad 局域网文件_ipad

就会出现命令行界面:我是在 D:\Python27 目录下操作的,所以现在这个目录就成网站的根目录了。

ipadVLC 局域网 nfs 设置 ipad 局域网文件_http_02

现在只要是在同一个局域网的设备都可以访问了。

ipadVLC 局域网 nfs 设置 ipad 局域网文件_python_03

##查看内网 IP:
如果不知道本机的内网 IP 可以这么查寻:

  1. WIN + R 打开运行窗口
  2. 输入 cmd 打开命令行
  3. 在黑框框中输入 ipconfig 回车
  4. 就可以看到本机的 IP了 (IPv4 地址)