本文目录一览:
- 1、python使用Flask框架获取用户IP地址的方法
- 2、如何用Python获取本机ip
- 3、python怎么获取本机ip
- 4、Python获取url中域名及从域名中提取ip的方法
- 5、python 怎么获取本机的外网ip
python使用Flask框架获取用户IP地址的方法
主要介绍了python使用Flask框架获取用户IP地址的方法,实例分析了Python使用Flask框架remote_addr获取IP的`技巧,非常具有实用价值,需要的朋友可以参考下。
下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最基本的Flask使用方法。
python代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
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代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
!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
You IP address is: strong{{user_ip}}/strong
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
/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为域名。(rest被分割了两次)如下图:
此方法为从sokcet模块中获取到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都在路由器上面