在Python中获取访问者的IP地址通常有以下几种方法:
1. 使用Flask框架获取访问者的IP地址:
from flask import Flask, requestapp = Flask(__name__)@app.route('/get_ip')def get_ip():return jsonify({'ip': request.remote_addr}), 200
2. 使用socket库获取本机IP地址:
import socketdef get_ip_address():try:s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect(('8.8.8.8', 80))ip_address = s.getsockname()s.close()return ip_addressexcept socket.error:return '获取IP地址失败'ip = get_ip_address()print('本机IP地址为:', ip)
3. 使用requests库获取外网IP地址:
import requestsdef get_out_ip():url = 'http://1212.ip138.com/ic.asp'r = requests.get(url)txt = r.textip = txt[txt.find('[') + 1 : txt.find(']')][1:]return ipprint('外网IP地址为:', get_out_ip())
4. 获取本机所有IP地址:
import socketdef get_host_ip():try:s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect(('8.8.8.8', 80))ip = s.getsockname()s.close()return ipexcept socket.error:return '获取IP地址失败'print('本机IP地址为:', get_host_ip())
请注意,如果您的应用程序位于代理服务器后面,您可能需要使用`request.environ['REMOTE_ADDR']`来获取客户端的真实IP地址,因为`request.remote_addr`可能会显示代理服务器的IP地址。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/129657.html