吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 17365|回复: 184
收起左侧

[Python 转载] 王者荣耀王者营地腾讯云函数每日签到配置教程

  [复制链接]
xiaohaiguai 发表于 2021-3-6 10:14
本帖最后由 xiaohaiguai 于 2021-4-10 16:51 编辑

2021-03-06:
此代码非原创,来源网络,此贴仅分享如何配置。
注:签到的营地币可以兑换东西,签到的天数累计有宝箱,适合懒人使用。

1、下载HttpCanary软件(https://anmuxi.lanzouj.com/iPYb2mko0lc,在设置里面安装根证书,并设置目标应用为王者营地(防止获取到其他软件数据)。

2、打开王者营地并登录,选择“我-每日福利”页面,切换到HttpCanary右下角小箭头按钮开始抓包,再切换到王者营地每日福利页面点击签到,然后返回HttpCanary暂停抓包,找到这一项POST https://ssl.kohsocial.qq.com/......,复制Raw选项的最后appVersion.....这一段。

3、打开腾讯云函数服务,新建自定义函数,默认Python3.6就可以了,复制以下代码进去,并在下方高级配置设置超时时间为60,其它默认即可。



[Python] 纯文本查看 复制代码
# -*- coding: utf8 -*-
import requests
import re

# 酷推sckey  留空则不推送
sckey = ''
# 签到 请求体
data_str = ''


def run(data_str):
    data_str = re.sub(r'&', '\n', data_str)
    content = re.findall(r'(.*?)=(.*)', data_str)
    data = {}
    for i in content:
        key = i[0]
        value = i[1]
        data[key] = value
    url = 'https://ssl.kohsocialapp.qq.com:10001/play/h5sign'
    r = requests.post(url=url, data=data)
    if r.json()['result'] == 0:
        msg = '签到成功'
    else:
        msg = r.json()['returnMsg']
    if sckey != '':
        url_ = f'https://push.xuthus.cc/send/{sckey}?c={msg}'
        requests.get(url_)
    return msg


def main_handler(event, context):
    return run(data_str)



4、将HttpCanary复制的那一段请求体复制到代码data_str = ''的单引号里,然后在云函数下面部署并测试,结果如下,是已经签到过的(刚刚配置的时候签到了),说明配置成功了(默认酷推,其它推送请自行修改)。

5、可以在触发管理里面这样配置,即可每日自动签到,填入【0 0 10 * * * *】即为每日10点签到。

教程至此完成,第一次发教程贴,如有问题请评论区指正,感谢支持

免费评分

参与人数 11吾爱币 +10 热心值 +10 收起 理由
ltxhhz + 1 + 1 谢谢@Thanks!
lidong234ok + 1 + 1 我很赞同!
孤星s + 1 + 1 感谢分享,正常使用中
riwfhiu + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
mengxinpan02 + 1 + 1 我很赞同!
小常龙虾 + 1 + 1 代码咋复制不了
sweether + 1 + 1 我很赞同!
wh2510 + 1 好东西感谢大佬分享
BlovedCQ + 1 谢谢@Thanks!
lxhyjr + 1 + 1 谢谢@Thanks!
浪洗乾坤 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

顾安 发表于 2021-3-11 15:44
[Python] 纯文本查看 复制代码
# -*- coding: utf8 -*-
import re, requests, time
from random import randint


# 处理账号参数 浏览点赞任务
idlist = []
dict0 = {
    'gameOpenId': '',
    'gameRoleId': '',
    'gameServerId': '',
    'token': '',
    'userId': ''
}

dict1 = {
    'gameOpenId': '',
    'gameRoleId': '',
    'gameServerId': '',
    'token': '',
    'userId': ''
}

idlist.append(dict0)
idlist.append(dict1)

# 领取奖励参数
idlist1 = []

dict2 = {
    'serverId': '',
    'roleId': '',
    'userId': '',
    'gameOpenid': '',
    'openid': '',
    'msdkToken': '',
    'appOpenid': '',
    'timestamp': '',
    'sig': '',
    'msdkEncodeParam': ''
}

dict3 = {
    'serverId': '',
    'roleId': '',
    'userId': '',
    'gameOpenid': '',
    'openid': '',
    'msdkToken': '',
    'appOpenid': '',
    'timestamp': '',
    'sig': '',
    'msdkEncodeParam': ''
}

idlist1.append(dict2)
idlist1.append(dict3)


# 请求str转dict
def strtodict(str):
    str = re.sub(r'&', '\n', str)
    content = re.findall(r'(.*?)=(.*)', str)
    data = {}
    for i in content:
        key = i[0]
        value = i[1]
        data[key] = value
    return data


# 获取首页资讯
def get_zixun(dict):
    url = 'https://ssl.kohsocialapp.qq.com:10001/info/listinfo'
    data_str = ''
    data = strtodict(data_str)
    data.update(dict)
    data['rRand'] = str(int(time.time() * 1000))
    r = requests.post(url, data=data)
    for i in range(2, 8):
        try:
            # print(r.text)
            iInfoId = r.json()['data']['list'][i]['iInfoId']
            algoType = r.json()['data']['list'][i]['algoType']
            docid = r.json()['data']['list'][i]['docid']
            print(iInfoId, algoType)
            get_liulan(dict, i, iInfoId, algoType)
            time.sleep(randint(1, 3))
            get_dianzan(dict, docid, iInfoId)
        except:
            msg = f'第{str(i)}次获取文章参数失败'
            print(msg)
            return msg
    msg = '任务完成'
    return msg

    # print(data)


# 浏览资讯
def get_liulan(dict, pos, iInfoId, algoType):
    url = 'https://ssl.kohsocialapp.qq.com:10001/game/detailinfov3'
    data_str = ''
    data = strtodict(data_str)
    data.update(dict)
    data['rRand'] = str(int(time.time() * 1000))
    data['pos'] = pos
    data['iInfoId'] = iInfoId
    data['algoType'] = algoType

    requests.post(url, data=data)


# 点赞
def get_dianzan(dict, docid, iInfoId):
    url = 'https://ssl.kohsocialapp.qq.com:10001/user/addlike'
    data_str = ''
    data = strtodict(data_str)
    data.update(dict)
    data['rRand'] = str(int(time.time() * 1000))
    data['docid'] = docid
    data['iInfoId'] = iInfoId
    # print(data)
    r = requests.post(url, data=data)
    # print(r.text)
    if r.json()['data']['like'] == True:
        print('点赞成功')


# 领取浏览奖励
def get_liulan_lq(dict):
    url = 'https://ssl.kohsocialapp.qq.com:10001/play/h5taskgetgift'
    data_str = ''
    data = strtodict(data_str)
    data.update(dict)
    # data['timestamp'] = str(int(time.time() * 1000))
    data['taskId'] = '2019071900007'
    r = requests.post(url, data=data)
    # print(r.text)
    try:
        if r.json()['result'] == 0:
            msg = '浏览奖励领取成功'
        else:
            msg = r.json()['returnMsg']
    except:
        msg = '请求失败,请检查接口'
    return msg


# 领取点赞奖励
def get_dianzan_lq(dict):
    url = 'https://ssl.kohsocialapp.qq.com:10001/play/h5taskgetgift'
    data_str = ''
    data = strtodict(data_str)
    data.update(dict)
    # data['timestamp'] = str(int(time.time() * 1000))
    data['taskId'] = '2019071900008'
    r = requests.post(url, data=data)
    # print(r.text)
    try:
        if r.json()['result'] == 0:
            msg = '点赞奖励领取成功'
        else:
            msg = r.json()['returnMsg']
    except:
        msg = '请求失败,请检查接口'
    return msg


# 签到
def qiandao(dict):
    url = 'https://ssl.kohsocialapp.qq.com:10001/play/h5sign'
    data_str = ''
    data = strtodict(data_str)
    data.update(dict)
    # data['timestamp'] = str(int(time.time() * 1000))
    r = requests.post(url, data=data)

    try:
        if r.json()['result'] == 0:
            msg = '签到成功'
        else:
            msg = r.json()['returnMsg']
    except:
        msg = '请求失败,请检查接口'
    # print(data['serverId']+ ':  '+msg)
    return msg


def main_handler(event, context):
    n = 1
    msg = ''
    today = int(time.strftime("%w"))
    if today == 2:
        for i in idlist:
            get_zixun(i)
            msg_r = f'{str(n)}号,任务完成'
            msg = msg + msg_r + '\n'
            n += 1
        time.sleep(randint(2, 5))

    for i in idlist1:
        if today == 2:
            msg_r = get_dianzan_lq(i)
            msg = msg + msg_r + '\t'
            time.sleep(randint(1, 3))

            msg_r = get_liulan_lq(i)
            msg = msg + msg_r + '\t'
            time.sleep(randint(1, 3))

        msg_r = qiandao(i)
        msg = msg + msg_r + '\n'

    return msg


修改了下楼主源码,添加了  每周浏览的任务    支持多账号
请求参数自行根据url地址抓包
请求参数直接填到对应的  data_str中
账号的参数填到ditc里,默认弄了俩账号的 ,有多个的自己copy加一下
没有接消息提醒,有需要的自己接入
云函数超时时间设置长一些,代码里面有延时

最近学的python,大神勿喷

免费评分

参与人数 5吾爱币 +7 热心值 +4 收起 理由
ltxhhz + 1 + 1 用心讨论,共获提升!
刹那光华 + 2 + 1 msdkToken是在浏览抓吗,首页的一抓就没有网络
张司徒 + 3 + 1 谢谢@Thanks!
流水小贝 + 1 热心回复!
yoaan + 1 我很赞同!

查看全部评分

yoaan 发表于 2021-3-29 10:23
顾安 发表于 2021-3-11 15:44
[mw_shl_code=python,true]
# -*- coding: utf8 -*-
import re, requests, time

有没有可能模拟从营地登录王者和微信分享
yoaan 发表于 2021-4-1 11:01
刹那光华 发表于 2021-3-31 17:25
大佬能分享一下获取token的思路或者登录吗
微信和QQ不同的我找到的areaId appid两个参数
测试不同设备 ...

msdkEncodeParam反编译可以找到算法
msdkToken才是能不能登录的关键
a327111 发表于 2021-3-6 10:23
好高深的样子
离人心上秋意浓 发表于 2021-3-6 10:24
感谢!!! 凑币买改名卡
浪洗乾坤 发表于 2021-3-6 10:28
干得漂亮 楼主不说我都不知道还有这个云函数可以玩。。。
 楼主| xiaohaiguai 发表于 2021-3-6 10:32

简简单单的做法
 楼主| xiaohaiguai 发表于 2021-3-6 10:33
离人心上秋意浓 发表于 2021-3-6 10:24
感谢!!! 凑币买改名卡

哈哈,我改名卡二三十张了都
 楼主| xiaohaiguai 发表于 2021-3-6 10:35
浪洗乾坤 发表于 2021-3-6 10:28
干得漂亮 楼主不说我都不知道还有这个云函数可以玩。。。

懒人操作比较多,可以在论坛多找找
alicematic731 发表于 2021-3-6 10:41
感谢分享
杜先森 发表于 2021-3-6 10:44
同王者中毒用户,还有其他懒人操作了吗?
Ercilan 发表于 2021-3-6 10:46
我有一个掌火签到
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 03:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表