Python的Flask項(xiàng)目中獲取請求用戶IP地址 addr問題
Python Flask項(xiàng)目中獲取請求用戶IP地址 addr
服務(wù)器直接部署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
這種情況下, 按照上面的代碼只能獲取到本服務(wù)器地址。需要使用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可以做點(diǎn)什么
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,那么使用本機(jī)電腦ip如何設(shè)置呢?
修改如下:
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)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
有關(guān)pycharm登錄github時(shí)有的時(shí)候會報(bào)錯connection reset的問題
這篇文章主要介紹了有關(guān)pycharm登錄github時(shí)有的時(shí)候會報(bào)錯connection reset的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
python尋找list中最大值、最小值并返回其所在位置的方法
今天小編就為大家分享一篇python尋找list中最大值、最小值并返回其所在位置的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python lambda表達(dá)式用法實(shí)例分析
這篇文章主要介紹了Python lambda表達(dá)式用法,結(jié)合實(shí)例形式分析了lambda表達(dá)式的具體功能、應(yīng)用場景及相關(guān)使用技巧,需要的朋友可以參考下2018-12-12
PyQt5中QAbstractScrollArea的詳細(xì)用法教程
在PyQt5中,QAbstractScrollArea是一個非常重要的類,它提供了滾動區(qū)域的基本框架,允許用戶通過滾動條來查看超出可視區(qū)域的內(nèi)容,本文將結(jié)合具體案例,詳細(xì)講解QAbstractScrollArea的用法,需要的朋友可以參考下2024-08-08
Python語言檢測模塊langid和langdetect的使用實(shí)例
今天小編就為大家分享一篇關(guān)于Python語言檢測模塊langid和langdetect的使用實(shí)例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02
Python依賴管理及打包工具Poetry使用規(guī)范
這篇文章主要為大家介紹了Python依賴管理及打包工具Poetry的依賴規(guī)范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-09-09
數(shù)據(jù)清洗之如何用一行Python代碼去掉文本中的各種符號
我們在處理文本的時(shí)候往往需要對標(biāo)點(diǎn)符號進(jìn)行處理,下面這篇文章主要給大家介紹了關(guān)于數(shù)據(jù)清洗之如何用一行Python代碼去掉文本中的各種符號的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11

