废话不多说直接上代码
# !/usr/bin/env python # encoding: UTF-8 import json import requests class NetSprider(object): def __init__(self): self.header = { 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Connection': 'keep-alive', 'Content-Length': '61', 'Content-Type': 'application/json', 'Cookie': 'JSESSIONID=5C986DCCDCC2FA427E2EFDB7C5FC89F6', 'Host': 'www.maritech.cn', 'Origin': 'http://www.maritech.cn', 'Referer': 'http://www.maritech.cn/lsplatform/login', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest' } def get_session(self): action = 'http://www.maritech.cn/lsplatform/login' data = {'name': "admin", 'pass': "Jishuyibu123123", 'captcha': '', 'rememberMe': 'false'} session = requests.session() res = session.post(action, data=json.dumps(data), headers=self.header, verify=False) self.cookies = res.cookies print(self.cookies) return session def save_storeage(self): session = self.get_session() cookies = requests.utils.dict_from_cookiejar(session.cookies) cookies = json.dumps(cookies).split(':')[1].replace("\"", "").replace("}", "") cookies = "JSESSIONID=" + cookies + ";systemId=B4B0B0E4-89D0-4EE9-847A-15303ECC6C60;const_system_version=V5.4.0.1; const_ship_code=3201; const_land_or_ship=1; const_user_id=4C8B5A00-3F2E-4CBB-993A-E980993F5AC1; const_person_id=5D6CEF72-6EBC-439B-B558-B66C4DCAADB4; const_encryption=0; const_person_post_id=""; const_com_name=%E6%B5%B7%E4%B8%B0%E5%9B%BD%E9%99%85%E6%8E%A7%E8%82%A1%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8; const_com_ename=SITC; const_ship_name=%E6%B5%B7%E4%B8%B0%E5%90%8D%E5%8F%A4%E5%B1%8B; const_user_name=admin; const_person_name=%E7%AE%A1%E7%90%86%E5%91%98; const_person_ename=Company+Admin; const_pur_keep_decimal=2; const_post_name=""; __lastMenu=74AA6691-710F-42E1-AC48-CE0AD76C56E4"; self.header_session = { 'Cookie': cookies, '-token-': 'null', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Connection': 'keep-alive', 'Content-Length': '100', 'Content-Type': 'application/json', 'Host': 'www.maritech.cn', 'Origin': 'http://www.maritech.cn', 'Referer': 'http://www.maritech.cn/lsplatform/pur/manage/purCcy/index?__token__=null&lsMenuId=74AA6691-710F-42E1-AC48-CE0AD76C56E4', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest' } action = "http://www.maritech.cn/lsplatform/pur/manage/purCcy" data = {'ccyCode': "g港币", 'ccyId': "", 'ccyName': '', 'ccyRate': '', 'isMain': "1", 'isUse': '1', 'remark': '孙伟和张振东是猪'} print(cookies) print(type(cookies)) response = session.post(url=action, data=json.dumps(data), headers=self.header_session, cookies=self.cookies, verify=False, timeout=10) # 使用登录成功的会话 print(response.text) return response n = NetSprider() n.save_storeage()