python教程

Python获取京东扫码Cookie脚本

我的站长站 2021-08-20 人阅读
# -*- coding: utf-8 -*-
import requests
import time
import re
import json
 
 
def loads_jsonp(_jsonp):
    try:
        return json.loads(re.match(".*?({.*}).*", _jsonp, re.S).group(1))
    except:
        raise ValueError('Invalid Input')
 
 
class jdthor:
    def qrcode(self):      # 保存二维码
        url = "https://qr.m.jd.com/show?appid=133&size=147"
        req = requests.get(url)
        with open("wc.png", mode="wb") as f1:
            f1.write(req.content)
        # print(req.headers)
        self.state(req.cookies.get_dict())
 
    def state(self, h):   # 查看扫码情况
        while True:
            smdl = h.get('wlfstk_smdl')
            codekey = h.get('QRCodeKey')
            headers = {
                "Referer": "https://union.jd.com/index",
                "Cookie": f"QRCodeKey={codekey}; wlfstk_smdl={smdl}"
            }
            url = f'https://qr.m.jd.com/check?appid=133&token={smdl}&callback=jsonp'
            req = requests.get(url, headers=headers)
            data = loads_jsonp(req.text)
            if data.get('code') == 201:
                print('t还没扫描呢亲~')  # 未扫描
            elif data.get('code') == 202:
                print('tt请确认登陆')  # 请再手机端确认登陆
            elif data.get('code') == 205:
                print('ttt干嘛取消登陆了')
                break  # 取消登陆
            elif data.get('code') == 203:
                print('已经过期了')
                break
            elif data.get('code') == 200:
                self.get(data.get('ticket'), smdl)
                break
            else:
                print(data)
                break
            time.sleep(1)
 
    def get(self, ticket, smdl):      # 获取Ck
        url = f'https://passport.jd.com/uc/qrCodeTicketValidation?t={ticket}&ReturnUrl=https://union.jd.com/index&callback=jsonp'
        headers = {
            "Referer": "https://union.jd.com/index",
            "Cookie": f"wlfstk_smdl={smdl}"
        }
        req = requests.get(url, headers=headers)
        ckdict = req.cookies.get_dict()
        print(ckdict)
 
 
if __name__ == '__main__':
    jd = jdthor()
    jd.qrcode()
相关推荐
  • Python脚本
  • 监测腾讯云轻量服务器流量超标关机python脚本

    脚本介绍一款监测腾讯云轻量应用服务器流量包使用情况,并根据配置进行警告和关机的Python脚本。GitHub:https://github.com/XiaoXinYo/Tencent_Cloud_LightHouse_Server_Guardian脚本功能仅用于轻量级服务器1.自动检测流量包剩余,可设置使用比2.自动关...

    python教程 75 1年前
  • Python无需认证QQ扫码登录脚本

    无需认证QQ扫码登录脚本python脚本,盗用JD的QQ登录,也可以改成其他网址。无需自己注册腾讯开发者,无需自己有一套网址去申请应用Get_QQ返回QQ号,也可以获取到QQ头像、好友等其他信息,请勿用于非法行为import requestsimport timefrom PIL import Imagedef...

    python教程 291 2年前
  • 最新python织梦dedecms远程执行脚本

    织梦CMS是使用最多的CMS之 一,但是漏洞也非常多。分享一款python写的织梦远程文件包含漏洞。修复此漏洞方法,请见文章底部。织梦CMS漏洞代码#! /usr/bin/env python#coding=utf-8#Joseph(小续)import requestsimport sysimport redef main():try:url="...

    服务器配置 282 4年前
最新更新