J'ai un site web que j'ai écrit en python en utilisant le CGI. C'était génial jusqu'à très récemment, quand la capacité d'échelle est devenue importante.Comment lire les cookies dans un script python lors de l'utilisation de mod_python
J'ai décidé, parce que c'était très simple, d'utiliser mod_python. La plupart des fonctionnalités de mon site sont stockées dans un module python que j'appelle pour rendre les différentes pages. L'un des scripts CGI pourrait ressembler à ceci:
#!/usr/bin/python
import mysite
mysite.init()
mysite.foo_page()
mysite.close()
et monsite, je pourrais avoir quelque chose comme ceci:
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)
iront chercher le nom d'utilisateur de l'utilisateur actuel. Le problème est que cela dépend du fait que os.envrion soit rempli lorsque os est importé dans le script (en haut du module). Comme j'utilise maintenant mod_python, l'interpréteur ne charge ce module qu'une seule fois et ne le remplit qu'une seule fois. Je ne peux pas lire les cookies car leur OS a les variables d'environnement de la machine locale, pas l'utilisateur distant.
Je suis sûr qu'il y a un moyen de contourner cela, mais je ne suis pas sûr de ce que c'est. J'ai essayé os de réimporter dans la fonction get_username, mais pas de dés. :(
Toute pensée?
req.headers_in [ « cookies »] -. Eh oui, c'est tout Merci.! – Ryan