无法从 PC 访问 Raspberry Pi 中的简单瓶子网页
cannot access a simple bottle web page in Raspberry Pi from PC
我遵循了指南https://bottlepy.org/docs/dev/tutorial.html
在 Raspberry Pi 上使用以下示例
from bottle import route, run
@route('/hello')
def hello():
return "Hello World!"
run(host='0.0.0.0', port=81, debug=True)
然后我 运行 python 脚本 sudo python hello.py
网页http://<IP address>:81
不可用,
其中 <IP address>
是 raspberry pi 的 IP 地址。
运行 sudo netstat --tcp --udp --listening --program
我得到
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 < IP address >:81 *:* LISTEN 26308/python`
您使用了错误的端口。 (看起来您可能已经复制了 bottle
"hello world" 示例,但没有理解它在做什么。)要使用端口 81,请进行以下更改:
run(host='0.0.0.0', port=81, debug=True)
或者,只需保持代码原样并在 http://<IP address>:8080/hello
访问它
首选端口 8080 而不是 81 的一个原因是 81 需要 root (sudo)。
iptable 正在阻止端口 81 上的传入流量。
命令后有效
sudo iptables -A INPUT -p tcp --dport 81 -j ACCEPT
我遵循了指南https://bottlepy.org/docs/dev/tutorial.html 在 Raspberry Pi 上使用以下示例
from bottle import route, run
@route('/hello')
def hello():
return "Hello World!"
run(host='0.0.0.0', port=81, debug=True)
然后我 运行 python 脚本 sudo python hello.py
网页http://<IP address>:81
不可用,
其中 <IP address>
是 raspberry pi 的 IP 地址。
运行 sudo netstat --tcp --udp --listening --program
我得到
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 < IP address >:81 *:* LISTEN 26308/python`
您使用了错误的端口。 (看起来您可能已经复制了 bottle
"hello world" 示例,但没有理解它在做什么。)要使用端口 81,请进行以下更改:
run(host='0.0.0.0', port=81, debug=True)
或者,只需保持代码原样并在 http://<IP address>:8080/hello
首选端口 8080 而不是 81 的一个原因是 81 需要 root (sudo)。
iptable 正在阻止端口 81 上的传入流量。
命令后有效 sudo iptables -A INPUT -p tcp --dport 81 -j ACCEPT