[英]How to detect which of the two virtual hosts is being used in python and flask
我有一個在燒瓶中開發的網站運行在apache2服務器上,該服務器在端口80上響應兩個URL
我想檢測用戶來自兩個URL中的哪個URL,並調整服務器的功能並將變量存儲在配置變量中
app.config['SITE'] = 'OER'
要么
app.config['SITE'] = 'WWW'
在Internet上環顧四周,我可以找到許多使用urllib2的示例,問題是您需要將要切片的url傳遞給它,而我找不到一種將其切出的方法,因為它可能會隨每個請求在兩者之間發生變化。
我可以分叉代碼並提出兩個不同的版本,但這就像一盒青蛙一樣丑陋。
歡迎思想。
在您的請求處理程序中使用Flask request
對象( from flask import request
)和以下之一 :
hostname = request.environ.get('HTTP_HOST', '')
url = urlparse(request.url)
hostname = url.netloc
這將獲得例如oer.example.com
或www.example.com
。 如果有端口號也將包括在內。 請記住,這最終來自客戶端請求,因此“不良”請求可能會將其設置為錯誤,盡管希望apache不會將那些路由到您的應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.