本文目录一览:
- python使用Flask框架获取用户IP地址的方法
- 如何用Python获取本机ip
- python怎么获取本机ip
- Python获取url中域名及从域名中提取ip的方法
- python 怎么获取本机的外网ip
python使用Flask框架获取用户IP地址的方法
主要介绍了python使用Flask框架获取用户IP地址的方法,实例分析了Python使用Flask框架remote_addr获取IP的技巧,非常具有实用价值,需要的朋友可以参考下。 下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最基本的Flask使用方法。 python代码如下:
from flask import Flask, render_template, request
# Initialize the Flask application
app = Flask(__name__)
# Default route, print user's IP
@app.route('/')
def index():
ip = request.remote_addr
return render_template('index.html', user_ip=ip)
if __name__ == '__main__':
app.run(
host="0.0.0.0",
port=int("80")
)
html代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<link href="bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<p class="container">
<p class="header">
<h3 class="text-muted">How To Get The IP Address Of The User</h3>
</p>
<hr/>
<p>
Your IP address is: <strong>{{user_ip}}</strong>
</p>
<p class="header">
<h3 class="text-muted">Code to retrieve the IP</h3>
</p>
<hr/>
<pre>
from flask import Flask, render_template, request
# Initialize the Flask application
app = Flask(__name__)
# Default route, print user's IP
@app.route('/')
def index():
ip = request.remote_addr
return render_template('index.html', user_ip=ip)
</pre>
</p>
</body>
</html>
希望本文所述对大家的Python程序设计有所帮助。
如何用Python获取本机ip
import socket
localIP = socket.gethostbyname(socket.gethostname()) # 得到本地ip
print "local ip:%s " % localIP
python怎么获取本机ip
import socket
def get_ip():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
# doesn't even have to be reachable
s.connect(('10.255.255.255', 0))
IP = s.getsockname()[0]
except:
IP = '127.0.0.1'
finally:
s.close()
return IP
Linux、Windows均测试通过。
Python获取url中域名及从域名中提取ip的方法
这种方法为从urlparse
模块中通过urlparse
方法提取url,通过hostname
属性获取当前url的域名。
此方法是通过urllib
模块中splittype
方法先从url中获取到proto协议及rest结果,然后通过splithost
从rest中获取到host及rest结果,此时host为域名。
此方法为从socket
模块中获取到gethostbyname
方法将域名传递进去就能解析出域名的ip。
此方法为通过nslookup获取域名的ip。
以上从域名中提取ip会不准确,需要设置DNS服务器,这样解析域名就准确了。
python 怎么获取本机的外网ip
import socket
hostname = socket.gethostname()
print(hostname)
# 输出示例:LuciferYang.local
ip = socket.gethostbyname(hostname)
print(ip)
# 输出示例:10.101.8.171
ipList = socket.gethostbyname_ex(hostname)
print(ipList)
# 输出示例:('luciferyang.local', [], ['10.101.8.171'])
理论上,不是服务器的话不用有直接外网IP到机器,办公室环境或者家庭环境都是局域网环境,外网IP都在路由器上面。