0
我有一個網站,我使用CGI在python中編寫。直到最近,這種情況都很好,當時規模的能力變得重要。如何在使用mod_python時讀取python腳本中的cookie
我決定,因爲它非常簡單,使用mod_python。我網站的大部分功能存儲在一個python模塊中,我稱之爲渲染各種頁面。其中一個CGI腳本可能是這樣的:
#!/usr/bin/python
import mysite
mysite.init()
mysite.foo_page()
mysite.close()
和mysite的,我可能是這樣的:
def get_username():
cookie = Cookie.SimpleCookie(os.environ.get("HTTP_COOKIE",""))
sessionid = cookie['sessionid'].value
ip = os.environ['REMOTE_ADDR']
username = select username from sessions where ip = %foo and session = %bar
return(username)
獲取當前用戶的用戶名。問題在於,這取決於在將os導入到腳本中時(位於模塊的頂部)os.envrion將被填充。因爲我現在使用mod_python,所以解釋器只加載一次該模塊,並且只填充一次。我無法讀取cookie,因爲它具有本地機器的環境變量,而不是遠程用戶。
我確信有一種解決方法,但我不確定它是什麼。我試圖mod_python的版本是否使用的是在get_username功能重新導入操作系統,但沒有骰子:(。
有什麼想法?
req.headers_in [「曲奇」] - 是的,這是它。謝謝! – Ryan 2010-11-22 00:14:21