Python 3 에서 쿠키 생 성 및 저장

4049 단어 pythoncookie
1.쿠키 의 역할
쿠키 란 일부 사이트 가 사용자 의 신분 을 식별 하고 session 추적 을 하기 위해 사용자 로 컬 단말기 에 저 장 된 데 이 터 를 말한다.마치 일부 사이트 의 데 이 터 는 로그 인 후에 야 볼 수 있 듯 이 특정한 페이지 의 내용 을 캡 처 하려 면 쿠키 로 로그 인 을 모 의 해 야 한다.
쿠키 로 로그 인 을 모 의 할 때 python 의CookieJar를 사용 해 야 합 니 다.CookieJar 에는 다음 과 같은 하위 클래스 가 있 습 니 다.
  • FileCookieJar,LWPCookieJar,MoziliaCookieJar
  • CookieJar 는 http 에서 생 성 된 쿠키 를 관리 하고 쿠키 의 저장 을 담당 하 며 http 에 지정 한 쿠키 를 추가 합 니 다.
  • MozillaCookieJarLWPCookieJar류 는 모두FileCookieJar의 자 류 이다.쿠키 내용 을 파일 로 저장 하 는 구체 적 인 방법 을 실현 했다.다만 이 두 가지 대응 기준 이 다 를 뿐이다.
    2 쿠키 가 져 오기
    
    from http.cookiejar import CookieJar,LWPCookieJar
    from urllib.request import Request,urlopen,HTTPCookieProcessor,build_opener
    from urllib.parse import urlencode
    import ssl
    # ----------------------------------------  cookie---------------------------
    #       cookie   
    cookie_obj = CookieJar()
    #       cookie   ,    HTTPCookieProcessor
    cookie_handler = HTTPCookieProcessor(cookie_obj)  
    #    opener
    opener = build_opener(cookie_handler)  
    response = opener.open('http://www.baidu.com')
    print(response)
    #  cookie
    for cookie in cookie_obj:
      print('key:',cookie.name)
      print('value:',cookie.value)
    
    
    3 쿠키 저장 파일
    
    from http.cookiejar import CookieJar,LWPCookieJar
    from urllib.request import Request,urlopen,HTTPCookieProcessor,build_opener
    filename = 'neihan.txt'
    #   cookie     
    cookie_obj = LWPCookieJar(filename=filename)
    #       cookie   ,    HTTPCookieProcessor
    cookie_handler = HTTPCookieProcessor(cookie_obj)
    #    opener
    opener = build_opener(cookie_handler)
    #    
    response = opener.open('http://www.neihanshequ.com')
    #   cookie         
    # ignore_expires=True     cookie        ,      
    # ignore_discard=True    cookie  /    ,    
    cookie_obj.save(ignore_expires=True,ignore_discard=True)
    
    
    4 로 컬 쿠키 로 요청
    
    from http.cookiejar import CookieJar,LWPCookieJar
    from urllib.request import Request,urlopen,HTTPCookieProcessor,build_opener
    cookie = LWPCookieJar()
    #      cookie   
    cookie.load('neihan.txt')
    request = Request('http://www.neihanshequ.com')
    #       cookie   ,    HTTPCookieProcessor
    cookie_handler = HTTPCookieProcessor(cookie)
    #    opener
    opener = build_opener(cookie_handler)
    #    
    response = opener.open(request)
    # print(response.read().decode())
    
    
    5 쿠키 를 사용 하여 아 날로 그 로그 인
    
    from http.cookiejar import CookieJar,LWPCookieJar
    from urllib.request import Request,urlopen,HTTPCookieProcessor,build_opener
    from urllib.parse import urlencode
    import ssl
    cookie = LWPCookieJar(filename='meishi.txt')
    cookie_handler = HTTPCookieProcessor(cookie)
    opener = build_opener(cookie_handler)
    headers={
      'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0'
    }
    post_url = 'https://i.meishi.cc/login.php?redirect=https%3A%2F%2Fi.meishi.cc%2Flogin.php%3Fac%3Dzhuce'
    # urlencode url         
    # urlencode()          
    post_data = urlencode({
      'username':'***********',  #       
      'password':'************'  #       
    })
    #   url    ,      
    request = Request(post_url,bytes(post_data,encoding='utf-8'))
    #       
    ssl._create_default_https_context = ssl._create_unverified_context
    response = opener.open(request)
    print(response.read().decode())
    cookie.save(ignore_discard=True,ignore_expires=True)
    
    
    여기post_url는 가방 을 잡 아서 가 져 온 것 이다.
    총결산
    이상 은 이 글 의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가 치 를 가지 기 를 바 랍 니 다.여러분 의 저희 에 대한 지지 에 감 사 드 립 니 다.더 많은 내용 을 알 고 싶다 면 아래 링크 를 보 세 요.

    좋은 웹페이지 즐겨찾기