Python的Flask項目中獲取請求用戶IP地址 addr問題
Python Flask項目中獲取請求用戶IP地址 addr
服務器直接部署Flask
import logging
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
?? ? logging.debug(ip)
?? ? return render_template('index.html', user_ip=ip)
if __name__ == '__main__':
?? ? app.run(host="0.0.0.0", port=80)Docker中Nginx代理Gunicorn中啟動Flask
這種情況下, 按照上面的代碼只能獲取到本服務器地址。需要使用werkzeug.middleware.proxy_fix
import logging
from flask import Flask, render_template, request
from werkzeug.middleware.proxy_fix import ProxyFix
# Initialize the Flask application
app = Flask(__name__)
app.wsgi_app = ProxyFix(app.wsgi_app, num_proxies=1)
# Default route, print user's IP
@app.route('/')
def index():
?? ? ip = request.remote_addr
?? ? logging.debug(ip)
?? ? return render_template('index.html', user_ip=ip)查到IP可以做點什么
Flask獲取用戶的ip,查詢用戶的登錄次數(shù),并且封ip
Python flask (request 請求)
注意參數(shù)是采用 request.values.get 獲取
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from flask import Flask, jsonify, abort, request
app = Flask(__name__)
result = [
{
"code":"001",
"desc":"success",
"data":1
}
]
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/send/imgaddress', methods=['POST'])
def create_task():
getdata = request.data.decode('utf-8')
userImg = ''
userdebugImg = ''
userImg = request.values.get('user')
userdebugImg = request.values.get('userdebug')
print('userImg:', userImg)
print('userdebugImg:', userdebugImg)
result[0]["code"] = '001'
return jsonify({'result': result})
if __name__ == "__main__":
app.run(debug=True)
測試
http://127.0.0.1:5000/send/imgaddress?user=172.28.6.1&userdebug=172.28.6.0
同局域網(wǎng)跨電腦訪問
可以注意到上面使用的 ip 是 127.0.0.1,那么使用本機電腦ip如何設置呢?
修改如下:
if __name__ == "__main__": ?? ?app.run(host="0.0.0.0", debug=False)
允許跨組訪問
app = Flask(__name__)
改為:
from flask_cors import CORS app = Flask(__name__) CORS(app, supports_credentials=True)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
有關pycharm登錄github時有的時候會報錯connection reset的問題
這篇文章主要介紹了有關pycharm登錄github時有的時候會報錯connection reset的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
python尋找list中最大值、最小值并返回其所在位置的方法
今天小編就為大家分享一篇python尋找list中最大值、最小值并返回其所在位置的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
PyQt5中QAbstractScrollArea的詳細用法教程
在PyQt5中,QAbstractScrollArea是一個非常重要的類,它提供了滾動區(qū)域的基本框架,允許用戶通過滾動條來查看超出可視區(qū)域的內(nèi)容,本文將結(jié)合具體案例,詳細講解QAbstractScrollArea的用法,需要的朋友可以參考下2024-08-08
Python語言檢測模塊langid和langdetect的使用實例
今天小編就為大家分享一篇關于Python語言檢測模塊langid和langdetect的使用實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02
Python依賴管理及打包工具Poetry使用規(guī)范
這篇文章主要為大家介紹了Python依賴管理及打包工具Poetry的依賴規(guī)范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2021-09-09
數(shù)據(jù)清洗之如何用一行Python代碼去掉文本中的各種符號
我們在處理文本的時候往往需要對標點符號進行處理,下面這篇文章主要給大家介紹了關于數(shù)據(jù)清洗之如何用一行Python代碼去掉文本中的各種符號的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-11-11

