618!python京东 PC 版抢券程序

with open(QRcode_path, ‘wb’) as f:

for chunk in resp.iter_content(chunk_size=1024):

f.write(chunk)

QRcode = Image.open(QRcode_path)

QRcode.show()

检测二维码是否扫码


获取二维码图片之后,在 Fiddler 抓包神器中一直刷新带 check 的 url 地址,猜测这个也是和登录有关的,应该是检测二维码是否被扫码。

在这里插入图片描述

检测是否被扫码抓包

def check_QRcode():

url = ‘https://qr.m.jd.com/check’

params = {

‘appid’: ‘133’,

‘callback’: ‘jQuery{}’.format(random.randint(1000000, 9999999)),

‘token’: session.cookies.get(‘wlfstk_smdl’),

‘_’: str(int(time.time() * 1000)),

}

headers = {

‘User-Agent’: user_agent,

‘Referer’: ‘https://passport.jd.com/new/login.aspx?ReturnUrl=https%3A%2F%2Fwww.jd.com%2F’,

}

resp = session.get(url=url, headers=headers, params=params)

resp_json = parse_json(resp.text)

if ‘ticket’ in resp_json:

print(resp_json)

return resp_json[‘ticket’]

else:

print(resp_json[‘msg’])

print(‘请刷新京东登录二维码!’)

os._exit(0)

示例结果

{‘code’: 200, ‘ticket’: ‘AAEAIPL-bkU4RNrUw7YaLqYZhjWKqvP23PtkY1XTD2Cv2a52’}

验证二维码

在检测二维码是否被扫码之后,在 Fiddler 抓包神器中出现有一个带 qrCodeTicketValidation 的 url 地址,需要传递一个 t 参数,这个参数正好是 https://qr.m.jd.com/check 的返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值