一个简单的终端搭建局域网 HTTP server 的脚本

2017-12-07 09:27:04 +08:00
 douglas1997

场景描述:

1. MacOS 在已共享 WiFi 网络的时候无法使用 AirDrop,导致传单个文件很稀烂
2. 局域网的 IP 地址变化多端,可能是自己获得的公网 IP,也可能是内网 IP,手动输入很麻烦
3. 这个脚本非常简单,只是最近想到用二维码的方法,就分享一下

效果如下:

大家可以自己试用。

gist code

4026 次点击
所在节点    分享创造
29 条回复
ifaii
2017-12-07 12:12:04 +08:00
@bashbot 首行建议改为 #!/usr/bin/env python3 , 我在 macos 上直接出错了
douglas1997
2017-12-07 12:15:58 +08:00
@tuimaochang 😂哈哈哈
ifaii
2017-12-07 12:16:58 +08:00
@douglas1997 bug

~/work $ ./httpserver_fillcap.py . 8000
Traceback (most recent call last):
File "./httpserver_fillcap.py", line 117, in get_wirelessip
wirelessip = ni.ifaddresses(interf)[ni.AF_INET][0]['addr']
KeyError: 2

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "./httpserver_fillcap.py", line 162, in <module>
wirelessip = get_wirelessip("en0")
File "./httpserver_fillcap.py", line 119, in get_wirelessip
wirelessip = get_ip_address()
File "./httpserver_fillcap.py", line 124, in get_ip_address
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
NameError: name 'socket' is not defined
douglas1997
2017-12-07 12:19:56 +08:00
@ifaii sorry,I will fix it ASAP.
loading
2017-12-07 12:43:26 +08:00
很好,找个时间试着写个 golang 的。
douglas1997
2017-12-07 12:48:54 +08:00
@ifaii Fixed.
douglas1997
2017-12-07 12:49:44 +08:00
@loading 大佬回帖了= = 谢谢~
hu6360567
2017-12-07 13:28:40 +08:00
支持 range 吗?
douglas1997
2017-12-07 13:31:37 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/412659

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX