Desidero rilevare se la richiesta proviene dall'host localhost:5000
o foo.herokuapp.com
e quale percorso è stato richiesto. Come ottengo queste informazioni su una richiesta di Flask?Come ottengo le diverse parti dell'URL della richiesta di una boccetta?
64
A
risposta
131
È possibile esaminare l'url attraverso diversi Request
fields:
Un utente richiede il seguente URL:
http://www.example.com/myapplication/page.html?x=y
In questo caso i valori degli attributi di cui sopra sarebbero i seguenti:
path /page.html script_root /myapplication base_url http://www.example.com/myapplication/page.html url http://www.example.com/myapplication/page.html?x=y url_root http://www.example.com/myapplication/
È possibile aggiungere facilmente ct la parte ospite con le divisioni appropriate.
7
si dovrebbe provare:
request.url
Si supponga di lavorare sempre, anche su localhost (appena fatto).
25
un altro esempio:
request: http://127.0.0.1:5000/alert/dingding/test?x=y
poi:
request.url: http://127.0.0.1:5000/alert/dingding/test?x=y
request.base_url: http://127.0.0.1:5000/alert/dingding/test
request.url_charset: utf-8
request.url_root: http://127.0.0.1:5000/
str(request.url_rule): /alert/dingding/test
request.host_url: http://127.0.0.1:5000/
request.host: 127.0.0.1:5000
request.script_root:
request.path: /alert/dingding/test
request.full_path: /alert/dingding/test?x=y
Sto cercando di ottenere 'Request.root_url' e il ritorno ottengo solo'
@Vadim È necessario utilizzare request.root_url, non Request.root_url. – selfboot
nuovo a Flask, non sapevo da dove venisse l'oggetto di richiesta e come funziona, eccolo: http://flask.pocoo.org/docs/0.12/reqcontext/ –