>  기사  >  백엔드 개발  >  web.py 쿠키를 사용한 쿠키 설정 및 획득

web.py 쿠키를 사용한 쿠키 설정 및 획득

高洛峰
高洛峰원래의
2016-10-17 14:42:322140검색

이전 기사에서는 web.py의 첫 번째 페이지인 hello word에 대해 이야기했습니다. 계속해서 web.py 프로그래밍에 대해 알아보고 web.py의 쿠키 설정에 대해 이야기해 보겠습니다.


쿠키는 웹 프로그래밍을 공부한 사람들에게는 친숙한 존재라고 생각합니다. 웹 프로그래밍에서 매우 중요한 역할을 한다고 생각합니다. 사용자 로그인, 인증코드, 세션(쿠키 기반), 언어 선택, 신원 인식 등 모두 쿠키를 가지고 있습니다. 그렇다면 web.py에서 쿠키를 설정하는 방법은 무엇입니까?


사실 web.py에서 쿠키를 설정하는 것은 매우 간단합니다. web.py는 이미 이를 고려하여 매우 간단하고 유용한 기능을 제공했습니다.

setcookie(name, value, expires="", domain=None, secure=False)

매개변수 세부정보:

name(string) - 브라우저에 의해 저장되고 서버로 전송되는 쿠키의 이름입니다.

값(문자열) - 쿠키 이름에 해당하는 쿠키 값입니다.

expires(int) - 쿠키 만료 시간은 쿠키의 유효 기간을 결정하는 선택적 매개변수입니다. 몇 초 만에. 정수여야 하며 문자열이 아니어야 합니다. 선택적 매개변수입니다. 이 매개변수를 작성하지 않으면 기본적으로 영구적으로 유효합니다.

domain(문자열) - 쿠키의 유효한 도메인 - 쿠키는 이 도메인 내에서 유효합니다. 일반적으로 특정 사이트 내에서 사용 가능하려면 매개변수 값을 사이트 소유자의 호스트 이름(예: wiki.webpy.org)이 아닌 사이트의 도메인(예: .webpy.org)으로 작성해야 합니다. 선택적 매개변수

secure(bool) - True인 경우 이 쿠키는 HTTPS를 통해서만 전송되어야 합니다. 선택적 매개변수


예:

#设置website的值为www.pythontab.com,有效期60秒
web.setcookie("website", "www.pythontab.com", 60)


web.setcookie()를 사용하여 다음과 같이 쿠키를 설정합니다.

class CookieSet:
    def GET(self):
        i = web.input(age='25')
        web.setcookie('age', i.age, 3600)
        return "Age set in your cookie"


GET을 사용하세요. 위 클래스를 호출하면 기본값 25로 age라는 쿠키가 설정됩니다(실제로 기본값 25는 web.input의 i.age에 할당되므로 setcookie 함수에서 직접 할당하는 것이 아니라 간접적으로 쿠키를 할당합니다. 쿠키에 할당됨). 이 쿠키는 1시간(즉, 3600초) 후에 만료됩니다.


web.setcookie()의 세 번째 매개변수인 "expires"는 쿠키 만료 시간을 설정하는 데 사용되는 선택적 매개변수입니다. 음수인 경우 쿠키는 즉시 만료됩니다. 양수인 경우 쿠키가 유효한 기간(초)을 나타냅니다. 이 매개변수가 비어 있으면 쿠키는 만료되지 않습니다.


쿠키 얻기


개요

쿠키의 가치를 얻는 방법에는 여러 가지가 있으며 차이점은 쿠키를 찾을 수 없을 때 어떻게 해야 하는지에 달려 있습니다.


방법 1(쿠키가 없으면 None 반환):

get 메소드를 통해 획득

#通过设置的cookie的名字获取cookie,例如website
#web.cookies().get("website") 
web.cookies().get(cookieName)



방법 2(쿠키를 찾을 수 없으면 AttributeError 예외 발생):

#先把cookie对象赋值给一个变量,然后通过cookie的名字获得
#例如:foo.website
foo = web.cookies()
foo.cookieName


방법 3(쿠키를 찾을 수 없는 경우 기본값을 설정하여 예외 발생을 방지할 수 있음):

#该方法最大的特点就是可以设置cookie的默认值
foo = web.cookies(cookieName=defaultValue)
#如果不存在该cookieName,就会返回设置的默认cookie
foo.cookieName


쿠키 값이 존재하는지 확인하려면

다음을 수행하세요.

class CookieGet:
    def GET(self):
        try:
             return "Your website name is: " + web.cookies().website
        except:
             #抛出异常处理
             return "Cookie 不存在."


또는

class CookieGet:
    def GET(self):
        #先进行赋值
        website = web.cookies().get('website')
        if age:
            return "Your website name is: %s" % website
        else:
            return "Cookie 不存在."


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.