Javascript 如何在python中获取服务器ip(web访问ip)作为变量
我有一个Python flask服务器,它在端口8080上为我服务。服务器可以通过NAT进行访问。服务器的实际IP为192.168.200.10,NAT后为192.168.100.10 我有一个VNC服务器在同一台服务器上运行,我使用Javascript 如何在python中获取服务器ip(web访问ip)作为变量,javascript,python,html,flask,Javascript,Python,Html,Flask,我有一个Python flask服务器,它在端口8080上为我服务。服务器可以通过NAT进行访问。服务器的实际IP为192.168.200.10,NAT后为192.168.100.10 我有一个VNC服务器在同一台服务器上运行,我使用 def sysip(): sys_cmd = "ip -f inet a show enp0s31f6| grep inet| awk '{ print $2}' | cut -d/ -f1" sysip = os.popen(sys_cmd).
def sysip():
sys_cmd = "ip -f inet a show enp0s31f6| grep inet| awk '{ print $2}' | cut -d/ -f1"
sysip = os.popen(sys_cmd).read()
return sysip
Web部件
<a class="btn btn-primary btn-sm" href="http://{{sysip}}:6080/vnc.html" target="_blank" role="button">console </a>
但由于使用NAT,这种方法实际上毫无意义
是否有任何方法可以将访问web服务器的任何“IP”用户附加为vnc IP
例如:使用NAT后的主服务器
现在对于VNC,我得到了(因为上面的脚本)
相反,我需要
Flask或javascript中是否有任何方法?您可以使用请求头:
from flask import request
hostname = request.headers.get('Host')
这将为您提供浏览器用于执行请求的主机名,例如192.168.200.10
,或www.example.com
如果要剥离端口(8080
),可以使用
hostname = request.headers.get('Host').split(':')[0]
@不客气。我编辑了我的问题,提出了一种更通用的剥离端口号的方法。