Je souhaite détecter si la demande provient du localhost:5000
foo.herokuapp.com
hôte ou et quel chemin a été demandé. Comment obtenir ces informations sur une demande Flask?
144
Vous pouvez examiner l'url à travers plusieurs Request
champs :
Un utilisateur demande l'URL suivante:
http://www.example.com/myapplication/page.html?x=y
Dans ce cas, les valeurs des attributs mentionnés ci-dessus seraient les suivantes:
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/
Vous pouvez facilement extraire la partie hôte avec les divisions appropriées.
Request.root_url
et comme retour je reçois seulement<werkzeug.utils.cached_property object>
au lieu de joliment formatéhttp://www.example.com/myapplication/
. Ou cette fonctionnalité ne fonctionne pas sur localhost?http://www.example.com/
nonhttp://www.example.com/myapplication/
base_url renvoiehttp://www.example.com/myapplication/
un autre exemple:
demande:
puis:
la source
tu devrais essayer:
Cela suppose de toujours fonctionner, même sur localhost (vient de le faire).
la source
Si vous utilisez Python, je suggérerais d'explorer l'objet de requête:
dir(request)
Puisque l'objet prend en charge la méthode dict :
request.__dict__
Il peut être imprimé ou enregistré. Je l'utilise pour enregistrer 404 codes dans Flask:
la source