亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

python實現12306登錄并保存cookie的方法示例

2024-09-09 19:03:19
字體:
來源:轉載
供稿:網友

經過倒騰12306的登錄,還是實現了,請求頭很重要...各位感興趣的可以繼續寫下去.....

import sysimport timeimport requestsfrom PIL import Imageimport jsonimport osimport Headersimport SessionUtilimport UrlUtils class Ticket(object):  def __init__(self):    self.answer = {      "1": "40,40",      "2": "110,40",      "3": "180,40",      "4": "260,40",      "5": "40,120",      "6": "110,120",      "7": "180,120",      "8": "260,120",    }    self.answer_code=''    self.tk = ''   def getDEVICEID(self):    r = requests.get(UrlUtils.DEVICE_url, headers=Headers.BaseHead).text    try:      dic = json.loads(r[18:-2].replace(" ", ""))    except Exception:      return ""    return dic   # 初始化 獲取設備id 設置為cookie 必須  def initialize(self):    dic = self.getDEVICEID()    if dic == "":      print("網絡獲取指紋失敗!使用默認id")      RAIL_EXPIRATION = "1576651914389"      RAIL_DEVICEID = "lBJStCNl0YGo_HVkGtwOo2LWziXcwzpIk5gc2vAILNYdRfaeZ04nJtZ1JZwgQIssMDksn10rAz6Hz-bekeufhAusaKJId8f2BCg05ocgrzc8-chv8h4IB-lQ9H04XjLXr2fbnHw-SLZga3PewEfgPz2s-mhp7NAz"    else:      print("網絡獲取指紋成功!")      RAIL_EXPIRATION = dic["exp"]      RAIL_DEVICEID = dic['dfp']    SessionUtil.setCookie("RAIL_EXPIRATION", RAIL_EXPIRATION)    SessionUtil.setCookie("RAIL_DEVICEID", RAIL_DEVICEID)   def conf(self):    res = SessionUtil.session.post(url=UrlUtils.Conf_url, data=None, headers=Headers.ConFHeader)   def uamtkstatic(self):    data = {      'appid': 'otn'    }    SessionUtil.session.post(url=UrlUtils.UamtkStatic_url, data=data, headers=Headers.UamtkStaticHead)   def get_img_code(self):    try:      img = SessionUtil.session.get(url=UrlUtils.Down_mg_url, headers=Headers.BaseHead).content      with open('code.jpg', 'wb') as f:        f.write(img)    except Exception:      print("下載圖片錯誤! 等待重試~~")      time.sleep(1)      self.get_img_code()   def check_img(self):    try:      Image.open('code.jpg').show()    except Exception:      time.sleep(2)      Image.open('code.jpg').show()    print("+---1-------+----------+----------+----------+")    print("|  1   |  2   |  3   |  4   |")    print("|----------|----------|----------|----------|")    print("|  5   |  6   |  7   |  8   |")    print("+----------+----------+----------+----------+")    input_code = input("請在1―8中選擇輸入驗證圖片編號,以半角','隔開。(例如:1,3,5):")    answer_code = ''    try:      for i in input_code.split(','):        answer_code += ',' + self.answer[i] if (i is not input_code[0]) else self.answer[i]    except Exception as e:      print('輸入錯誤請重新輸入!')      self.check_img()    data = {      'answer': answer_code,      'rand': 'sjrand',      'login_site': 'E',    }    response = SessionUtil.session.get(url=UrlUtils.Check_img_url, params=data, headers=Headers.BaseHead, )    check_result = json.loads(response.text)    print(check_result)    try:      if check_result['result_code'] == '4':        print('*' * 20 + '驗證碼正確' + '*' * 20)        self.answer_code=answer_code      else:        self.get_img_code()        self.check_img()    except Exception:      self.get_img_code()      self.check_img()   # 校驗密碼正確  def login(self, answer_code):    user = ''    password = ''    try:      with open("user.conf", "r", encoding="utf-8") as f:        user = f.readline().strip().replace("[", '').replace("]", '').replace("name=", '')        password = f.readline().strip().replace("[", '').replace("]", '').replace("pwd=", '')        if user == "" or password == "":          raise Exception    except Exception:      user = input("賬號____:")      password = input("密碼____:")     formdata = {      'username': user,      'password': password,      'appid': 'otn',      'answer': answer_code    }    login_result = SessionUtil.session.post(url=UrlUtils.Login_url, data=formdata, headers=Headers.BaseHead)    login_result.encoding = 'utf-8'    login_result = login_result.json()    print(login_result)    if login_result["result_code"] != 0: #{'result_message': '登錄名不存在。', 'result_code': 1}      sys.exit(0)   # 二次校驗  def userLogin(self):    # 獲取一系列的cookie值才能真正的登錄成功    response = SessionUtil.session.get(url=UrlUtils.UserLogin_url, headers=Headers.UserLoginHead)    # 更新JSESSIONID route    response = SessionUtil.session.get(url=UrlUtils.Redirect_UserLogin_Url, headers=Headers.RedirectHead)   def uamtk(self):    # 獲取 tk 下一個請求需要提交 tk 值    data = {'appid': 'otn'}    uamtk_page = SessionUtil.session.post(url=UrlUtils.Uamtk_url, data=data, headers=Headers.UamtkHeader)    uamtk_page.encoding = 'utf-8'    try:      result = uamtk_page.json()      print(result)      if result['result_code'] != 0:        raise Exception(result['result_message'])      tk = result['newapptk']      self.tk = tk    except Exception:      print("獲取tk失敗!")      print("重試")      self.run()   def Uamauthclient(self):    data = {'tk': self.tk}    response = SessionUtil.session.post(url=UrlUtils.Uamauthclient_url, data=data,                      headers=Headers.UamauthclientHeader)    res = response.text    try:      dic = json.loads(res)      print(dic)      print(dic["username"] + ",歡迎登錄!")    except:      print("登錄失敗!")      self.run()    # '{"result_code":0,"result_message":"驗證通過","username":"XXX","apptk":"36yslXHez3_68-LtHvhI61mZkranjdw6kT9j4UMwEqrw1w0"}'   def saveCookie(self):    SessionUtil.save_cookies("12306cookies.txt")   def getInfo(self):     try:      re = SessionUtil.session.post("https://kyfw.12306.cn/otn/modifyUser/initQueryUserInfoApi",                     headers=Headers.UserInfoHead)      print(re.text)    except:      print("獲取失敗")   def run(self):    self.initialize()    self.conf()    self.uamtkstatic()    self.get_img_code()    self.check_img()    self.login(self.answer_code)    self.userLogin()    self.uamtk()    self.Uamauthclient()    self.saveCookie()    self.conf()    self.getInfo()  if __name__ == '__main__':  t = Ticket()  result = "":  try:     with open("12306cookies.txt", "r", encoding="utf-8") as fr:      result = fr.read()   except Exception:     pass  if result != "":    SessionUtil.load_cookies("12306cookies.txt")    t.initialize()    t.conf()    t.uamtkstatic()    t.userLogin()    t.uamtk()    t.Uamauthclient()    t.getInfo()  else:    t.run()
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品在线国产| 国产视频精品xxxx| 92福利视频午夜1000合集在线观看| 国产精品视频xxxx| 青青在线视频一区二区三区| 中文字幕久久精品| 欧美一级片免费在线| 国产一区二区三区免费视频| 国产婷婷97碰碰久久人人蜜臀| 日韩电影第一页| 久久成人精品一区二区三区| 精品国产一区二区三区四区在线观看| 精品视频久久久久久| 日本人成精品视频在线| 国产一级揄自揄精品视频| 欧美一级淫片videoshd| 91九色视频在线| 欧美一区在线直播| 欧美久久久精品| 中文字幕国产亚洲2019| 97热精品视频官网| 久久精品国产一区| 色偷偷av一区二区三区乱| 一区二区三区四区在线观看视频| 久久噜噜噜精品国产亚洲综合| 国产精品美女久久久久久免费| 亚洲精品成人免费| 久久国产精品偷| 97精品国产91久久久久久| 狠狠色狠狠色综合日日小说| 欧美床上激情在线观看| 日韩国产欧美精品一区二区三区| 成人信息集中地欧美| 国产在线久久久| 国产精品久久久久国产a级| 国产91在线播放精品91| 亚洲黄色成人网| 国产精品自产拍在线观| 日韩免费在线观看视频| 久久99国产精品久久久久久久久| 日韩最新中文字幕电影免费看| 亚洲夜晚福利在线观看| 久久久99久久精品女同性| 欧美一级黑人aaaaaaa做受| 亚洲国产日韩欧美综合久久| 亚洲国产91精品在线观看| 国产精品久久久久久久app| 亚洲香蕉成人av网站在线观看| 久久久久久亚洲精品不卡| 91tv亚洲精品香蕉国产一区7ujn| 亚洲欧美在线磁力| 国产一区二区三区在线免费观看| 97国产精品视频人人做人人爱| 色系列之999| 成人美女av在线直播| 性欧美办公室18xxxxhd| 国产精品色婷婷视频| 久久香蕉国产线看观看网| 97香蕉久久超级碰碰高清版| 91免费视频网站| 久久69精品久久久久久国产越南| 日韩电影大全免费观看2023年上| 91久久精品视频| 久久九九全国免费精品观看| 欧美精品videosex性欧美| 国产午夜精品全部视频在线播放| 国产精品美女呻吟| 岛国精品视频在线播放| 亚洲天堂网在线观看| 7m精品福利视频导航| 亚洲日本中文字幕免费在线不卡| 亚洲毛片在线观看.| 成人黄色片在线| 精品久久久999| 九九热精品视频在线播放| 国产精品xxxxx| 欧美性猛交xxxxx水多| 欧美日韩国产页| 久久精品国产成人精品| 欧美日韩国产中文精品字幕自在自线| 国产精品日韩久久久久| 欧美老女人www| 欧美国产日韩xxxxx| 中文字幕视频一区二区在线有码| 亚洲激情视频网站| 亚洲国产精久久久久久| 亚洲福利视频久久| 欧美在线国产精品| 日韩美女免费线视频| 亚洲精品短视频| 亚洲天堂一区二区三区| 国产精品福利在线观看网址| 久久人人爽人人爽人人片av高清| 97精品在线视频| 亚洲人成自拍网站| 欧美成人精品在线观看| 欧美黑人国产人伦爽爽爽| 久久成人精品视频| 久久夜色精品亚洲噜噜国产mv| 亚洲精品免费av| 亚洲石原莉奈一区二区在线观看| 91久久精品久久国产性色也91| 亚洲精品一区久久久久久| 中文字幕av一区二区| 国产精品一区二区久久| 久久精品成人欧美大片| 国产精品自拍小视频| 在线日韩日本国产亚洲| 欧美黑人极品猛少妇色xxxxx| 日本三级韩国三级久久| 色综合天天狠天天透天天伊人| 亚洲欧美中文日韩v在线观看| 午夜精品一区二区三区av| 久久国产精品免费视频| 国产91精品久久久久久久| 国产精品视频男人的天堂| 亚洲最新中文字幕| 精品精品国产国产自在线| 欧美成人精品在线视频| 精品久久久久久久久久| 日韩精品在线看| 欧美色道久久88综合亚洲精品| 亚洲第一免费播放区| 国产视频一区在线| 国产精品黄色av| 亚洲欧洲第一视频| 精品久久久久久中文字幕大豆网| 国产精品久久一| 一区二区三区无码高清视频| 久久精品这里热有精品| 日韩综合中文字幕| 中文字幕日本精品| 在线亚洲男人天堂| 亚洲无亚洲人成网站77777| 亚洲欧洲中文天堂| 欧美洲成人男女午夜视频| 国产精品草莓在线免费观看| 国产精品91久久| 中文字幕日韩高清| 亚洲精品视频免费| 欧美激情小视频| 揄拍成人国产精品视频| 欧美大片免费观看在线观看网站推荐| 成人欧美在线观看| 成人做爽爽免费视频| 国产精品激情av在线播放| 欧美色视频日本版| 日韩理论片久久| 国产裸体写真av一区二区| 91国产精品视频在线| 国产精品69av| 在线成人免费网站| 视频在线观看一区二区| 欧美丝袜一区二区| 日韩av电影中文字幕| 色偷偷88888欧美精品久久久| 精品美女久久久久久免费| 欧美久久精品一级黑人c片| 久久国产精品久久久久| 国产亚洲精品久久久久动| 国产精品久久久久av| 97精品在线视频| 久久精品99久久久香蕉| 亚洲国产婷婷香蕉久久久久久|