0
CGI를 사용하여 파이썬으로 작성한 웹 사이트가 있습니다. 아주 최근까지, 규모 확장이 중요해질 때까지 이것은 컸습니다.mod_python을 사용할 때 python 스크립트에서 쿠키를 읽는 방법
매우 간단하기 때문에 mod_python을 사용하기로 결정했습니다. 내 사이트의 기능 대부분은 다양한 페이지를 렌더링하기 위해 호출하는 파이썬 모듈에 저장됩니다. 는 CGI 스크립트 중 하나는 다음과 같습니다
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)
현재 사용자의 사용자 이름을 가져올 :
#!/usr/bin/python
import mysite
mysite.init()
mysite.foo_page()
mysite.close()
및 내 사이트에
, 나는 이런 일이있을 수 있습니다. 문제는 os가 모듈의 맨 위에있는 스크립트로 가져올 때 os.envrion이 채워지는 것에 달려 있다는 것입니다. 이제는 mod_python을 사용하기 때문에 인터프리터는이 모듈을 한 번만로드하고 한 번만 채 웁니다. os에는 원격 시스템이 아닌 로컬 시스템의 환경 변수가 있기 때문에 쿠키를 읽을 수 없습니다.나는이 방법이있을 것이라고 확신하지만, 그것이 무엇인지는 잘 모르겠습니다. 나는 mod_python을 3.x를이 쉽게하기 위해 별도의 Cookie
클래스를 (포함? 다시 오기 get_username 기능의 운영 체제,하지만 주사위 :(.
어떤 생각?
req.headers_in을 이전 버전에서 here)
를 참조 - 그래, 그게이었다 주셔서 감사합니다.! – Ryan