首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在部署代码时使用python flask获取公网和内网ip地址?

在部署代码时,可以使用Python Flask获取公网和内网IP地址的方法如下:

  1. 获取公网IP地址: 公网IP地址是指可通过Internet访问到的IP地址。在Python Flask中,可以使用以下代码获取公网IP地址:
代码语言:txt
复制
from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def get_public_ip():
    public_ip = request.remote_addr
    return "Public IP: {}".format(public_ip)

if __name__ == '__main__':
    app.run()

这段代码创建了一个Flask应用,并定义了一个路由 /。当访问该路由时,使用 request.remote_addr 可以获取到请求的公网IP地址。

  1. 获取内网IP地址: 内网IP地址是指在局域网中使用的IP地址,通常不可从Internet直接访问到。在Python Flask中,可以使用以下代码获取内网IP地址:
代码语言:txt
复制
import socket

def get_local_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(('8.8.8.8', 80))
    local_ip = s.getsockname()[0]
    s.close()
    return local_ip

这段代码使用socket库创建了一个UDP套接字,并连接到Google的DNS服务器IP地址(8.8.8.8)和80端口。通过 s.getsockname()[0] 可以获取本地IP地址。

  1. 部署代码时的使用: 部署代码时,可以将上述获取公网和内网IP地址的方法集成到Flask应用中的相应路由或功能中,以满足具体业务需求。例如:
代码语言:txt
复制
from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def get_ip():
    public_ip = request.remote_addr
    local_ip = get_local_ip()
    return "Public IP: {}, Local IP: {}".format(public_ip, local_ip)

def get_local_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(('8.8.8.8', 80))
    local_ip = s.getsockname()[0]
    s.close()
    return local_ip

if __name__ == '__main__':
    app.run()

这段代码在路由 / 中同时获取公网IP和内网IP,并返回给客户端。

腾讯云相关产品:

  • 腾讯云弹性公网IP:提供独立的公网IP资源,支持绑定到云服务器、负载均衡等资源上。详情请参考:腾讯云弹性公网IP
  • 腾讯云私有网络(VPC):提供安全、灵活的虚拟网络环境,可自定义IP地址范围、子网划分等。详情请参考:腾讯云私有网络(VPC)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券