Quiero detectar si la solicitud provino del host localhost:5000o foo.herokuapp.comqué ruta se solicitó. ¿Cómo obtengo esta información sobre una solicitud de Flask?
144
Puede examinar la URL a través de varios Requestcampos :
Un usuario solicita la siguiente URL:
http://www.example.com/myapplication/page.html?x=yEn este caso, los valores de los atributos mencionados anteriormente serían los siguientes:
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/
Puede extraer fácilmente la parte del host con las divisiones apropiadas.
Request.root_urly, como retorno, obtengo solo en<werkzeug.utils.cached_property object>lugar de un formato agradablehttp://www.example.com/myapplication/. ¿O esta característica no funciona en localhost?http://www.example.com/nohttp://www.example.com/myapplication/base_url devuelvehttp://www.example.com/myapplication/otro ejemplo:
solicitud:
luego:
fuente
Deberías intentarlo:
Se supone que funciona siempre, incluso en localhost (solo lo hice).
fuente
Si está utilizando Python, sugeriría explorando el objeto de solicitud:
dir(request)Como el objeto admite el método dict :
request.__dict__Se puede imprimir o guardar. Lo uso para registrar códigos 404 en Flask:
fuente