class Session: def __init__(self): self.config = Config.Config() self.log = Logger().get_logger() def get_session(self, env): """ 获取session :param env: 环境变量 :return: """ headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko)\ Chrome/67.0.3396.99 Safari/537.36", "Content-Type": "application/x-www-form-urlencoded", "Connection": "close" } if env == "debug": login_url = 'http://' + self.config.loginHost_debug parm = self.config.loginInfo_debug session_debug = requests.session() response = session_debug.post(login_url, parm, headers=headers) print(response.cookies) self.log.debug('cookies: %s' % response.cookies.get_dict()) return response.cookies.get_dict() elif env == "release": login_url = 'http://' + self.config.loginHost_release parm = self.config.loginInfo_release session_release = requests.session() response = session_release.post(login_url, parm, headers=headers) print(response.cookies) self.log.debug('cookies: %s' % response.cookies.get_dict()) return response.cookies.get_dict() else: print("get cookies error") self.log.error('get cookies error, please checkout!!!')
class ConfigHttp: def __init__(self): self.host = localReadConfig.get_http("baseurl") self.port = localReadConfig.get_http("port") self.timeout = localReadConfig.get_http("timeout") self.logger = Logger("httpUtil.py").getlog() # defined http get method def get(self, url, param=None): new_url = self.host + ":" + self.port + "/" + url header = {'Content-Type': 'application/json'} try: if param != None: textmod = parse.urlencode(param) req = request.Request(url='%s%s%s' % (new_url, '?', textmod), headers=header) self.logger.debug('%s%s%s' % (new_url, '?', textmod)) else: req = request.Request(url='%s' % (new_url), headers=header) self.logger.debug(new_url) res = request.urlopen(req) res = res.read() hjson = json.loads(res) self.logger.debug(json.dumps(hjson, indent=4)) return hjson except TimeoutError: self.logger.error("Time out!") return None # defined http post method def post(self, url, param): data = json.dumps(param) data = bytes(data, "utf-8") new_url = self.host + ":" + self.port + "/" + url self.logger.info('post data: \n' + json.dumps(param, indent=4)) try: headers = {'Content-Type': 'application/json'} req = request.Request(new_url, data, headers) response = request.urlopen(req) res = response.read() hjson = json.loads(res) self.logger.debug(json.dumps(hjson, indent=4)) except Exception as err: print(err, "\n") return hjson