get_session.py 1.59 KB
import requests
import traceback
import logging
import json
from libs.cache import redis_client
from libs.error import logging_exception
from django.conf import settings


def index_first():
    try:
        r1 = requests.get(settings.LOGIN_URL)
        return r1.cookies.get_dict()
    except:
        logging.error("index_first:%s" % traceback.format_exc())
        return None


def get_cook():
    try:
        data = open("/srv/apps/physical/vest/data/vest_user_email.txt")
        list = []
        dicts = {}
        for i in data:
            list.append(i.strip('\n').strip(','))
        for i in list:
            cookies = index_first()
            post_dict = {
                'account_type': 2,
                'pwd': '123456',
                'email': i
            }
            response = requests.post(
                url=settings.LOGIN_URL,
                data=post_dict,
                cookies=cookies
            )
            headers = response.headers
            print(response.text)
            cook = headers['Set-Cookie'].split(";")
            cook = cook[0].split('=')[1]
            logging.info("response.text :%s" % response.text)
            dicts[i] = cook
        return dicts
    except:

        logging.error("index_first:%s" % traceback.format_exc())

        return None


def get_session():
    try:
        session_key = "majia_login_session"
        dicts = get_cook()
        for key, value in dicts.items():
            redis_client.hset(session_key, key, json.dumps(value))
    except:
        logging_exception()
        logging.error("index_first:%s" % traceback.format_exc())