Ljzd-PRO / Mys_Goods_Tool

米游社商品兑换工具 | 短信验证登录 | 终端图形界面
https://pypi.org/project/mys-goods-tool
MIT License
460 stars 70 forks source link

兑换失败,返回1028 #132

Closed hhhggg233 closed 1 year ago

hhhggg233 commented 1 year ago

这是1.4.5版本 2023-07-05 19:00:00 INFO 开始发送商品 2023062912693 的兑换请求... 2023-07-05 19:00:00 INFO 开始发送商品 2023062912693 的兑换请求... 2023-07-05 19:00:00 INFO 开始发送商品 2023062912210 的兑换请求... 2023-07-05 19:00:00 INFO 开始发送商品 2023062912693 的兑换请求... 2023-07-05 19:00:00 INFO 开始发送商品 2023062912210 的兑换请求... 2023-07-05 19:00:00 INFO 开始发送商品 2023062912210 的兑换请求... 2023-07-05 19:00:00 INFO 兑换商品:2023062912693 返回结果: Too Many Requests

2023-07-05 19:00:00 INFO 兑换商品:2023062912210 返回结果: Too Many Requests

2023-07-05 19:00:00 INFO 兑换商品:2023062912693 返回结果: {"data":null,"message":"","retcode":1028}

2023-07-05 19:00:00 INFO 兑换商品:2023062912210 返回结果: Too Many Requests

2023-07-05 19:00:00 INFO 兑换商品:2023062912693 返回结果: Too Many Requests

2023-07-05 19:00:00 INFO 兑换商品:2023062912210 返回结果: Too Many Requests

2023-07-05 19:00:00 INFO 商品 2023062912693 兑换失败,可以自行确认。 2023-07-05 19:00:00 INFO 程序运行结束

这是2.0.5版本 07-05 19:00:00 [INFO] mys_goods_tool.api | 米游币商品兑换 - 执行兑换: 用户 77347599 商品 2023062912693 兑换失败,可以自行确认。 07-05 19:00:00 [DEBUG] mys_goods_tool.api | 网络请求返回: {"data":null,"message":"","retcode":1028} 07-05 19:00:00 [ERROR] mys_goods_tool.exchange_mode | 用户 77347599 - 【原神】原石150 - 线程 1 - 兑换失败 07-05 19:00:00 [INFO] mys_goods_tool.api | 米游币商品兑换 - 执行兑换: 用户 77347599 商品 2023062912210 兑换失败,可以自行确认。 07-05 19:00:00 [DEBUG] mys_goods_tool.api | 网络请求返回: {"data":null,"message":"","retcode":1028} 07-05 19:00:00 [ERROR] mys_goods_tool.exchange_mode | 用户 77347599 - 【原神】原石60 - 线程 1 - 兑换失败 07-05 19:00:00 [INFO] mys_goods_tool.api | 米游币商品兑换 - 执行兑换: 用户 77347599 商品 2023062912210 兑换失败,可以自行确认。 07-05 19:00:00 [DEBUG] mys_goods_tool.api | 网络请求返回: {"data":null,"message":"","retcode":1028} 07-05 19:00:00 [ERROR] mys_goods_tool.exchange_mode | 用户 77347599 - 【原神】原石60 - 线程 2 - 兑换失败 07-05 19:00:00 [INFO] mys_goods_tool.api | 米游币商品兑换 - 执行兑换: 用户 77347599 商品 2023062912693 兑换失败,可以自行确认。 07-05 19:00:00 [DEBUG] mys_goods_tool.api | 网络请求返回: {"data":null,"message":"","retcode":1028} 07-05 19:00:00 [ERROR] mys_goods_tool.exchange_mode | 用户 77347599 - 【原神】原石150 - 线程 2 - 兑换失败 全部是1028错误,同时我在七点整点进兑换,结果遇到了一个滑动验证码,等验证通过自然东西就没了。 系统环境是Win11,网络延迟大概在40ms左右,之前在学校10ms,不知道会不会有这方面的影响

Ljzd-PRO commented 1 year ago

与 #129 情况相同,目前还没修复

hhhggg233 commented 1 year ago

与 #129 情况相同,目前还没修复

好的,坐等大佬修复。辛苦了

Ljzd-PRO commented 1 year ago

又尝试修复了一下,可以试一下:https://github.com/Ljzd-PRO/Mys_Goods_Tool/actions/runs/5479310149

解决了几个可能的问题:

除了Headers里没有x-rpc-verify_key, x-rpc-device_fp,其他应该都和米游社App里实际发出的请求一致了。

fanlu commented 1 year ago

@Ljzd-PRO https://github.com/Ljzd-PRO/Mys_Goods_Tool/blob/d77e46369f32b21ac8e2690fb5cb41f2e81db7cc/mys_goods_tool/user_data.py#L345 这个salt是不是要随着X_RPC_APP_VERSION的变化而变化? 从 https://github.com/UIGF-org/mihoyo-api-collect/issues/1 看,好像每个版本都有一个独立的salt

Ljzd-PRO commented 1 year ago

@Ljzd-PRO

https://github.com/Ljzd-PRO/Mys_Goods_Tool/blob/d77e46369f32b21ac8e2690fb5cb41f2e81db7cc/mys_goods_tool/user_data.py#L345

这个salt是不是要随着X_RPC_APP_VERSION的变化而变化? 从 UIGF-org/mihoyo-api-collect#1 看,好像每个版本都有一个独立的salt

兑换请求不需要DS,因此和salt无关。

Ljzd-PRO commented 1 year ago

应该是和device_fp、verify_key有关,看一些别的请求 device_fp有一定的影响

hhhggg233 commented 1 year ago

使用2.1.0pre测试兑换返回的是2102,商品库存不足,可我记得之前不是返回没到兑换时间吗?

Ljzd-PRO commented 1 year ago

使用2.1.0pre测试兑换返回的是2102,商品库存不足,可我记得之前不是返回没到兑换时间吗?

应该都是有可能的。

fanlu commented 1 year ago
image

今天用2.1.0还是1028

hhhggg233 commented 1 year ago

+1,还是1028

Ljzd-PRO commented 1 year ago

我这里显示的是不在兑换时间,60原石,-2106

Ljzd-PRO commented 1 year ago

是用的原来的配置文件还是自动创建新的重新登录

hhhggg233 commented 1 year ago

是用的原来的配置文件还是自动创建新的重新登录

用的原来的,多了device_fp

hhhggg233 commented 1 year ago

我这里显示的是不在兑换时间,60原石,-2106

兑换到了吗?

Ljzd-PRO commented 1 year ago

我这里显示的是不在兑换时间,60原石,-2106

兑换到了吗?

没有

Remsk0202 commented 1 year ago

现在我手动在米哈游抢原石会弹出来一个滑块身份验证,是因为被检测使用脚本的原因吗?

Ljzd-PRO commented 1 year ago

现在我手动在米哈游抢原石会弹出来一个滑块身份验证,是因为被检测使用脚本的原因吗?

估计是了,看来加了人机验证😂

Ljzd-PRO commented 1 year ago

现在我手动在米哈游抢原石会弹出来一个滑块身份验证,是因为被检测使用脚本的原因吗?

你有抓包吗

Remsk0202 commented 1 year ago

现在我手动在米哈游抢原石会弹出来一个滑块身份验证,是因为被检测使用脚本的原因吗?

你有抓包吗

我今天抢原石是脚本+手动抢双线进行,脚本日志报的还是1028,然后今天手动点进去兑换的时候给我弹出来人机验证了,错失60原石

Ljzd-PRO commented 1 year ago

App里有提示让你选择游戏账号吗?先完成选择再遇到人机验证吗

Remsk0202 commented 1 year ago

App里有提示让你选择游戏账号吗?先完成选择再遇到人机验证吗

APP里并没有让我选择游戏账号,只是我7:00点进去兑换的时候弹出来人机验证了,给我一下子干蒙了,以前我手动抢原石没有遇见过这种情况的

hhhggg233 commented 1 year ago

App里有提示让你选择游戏账号吗?先完成选择再遇到人机验证吗

我上次也是遇到了验证 那次是1.4.5和2.0.5双开了 这次就开了2.1.0 手动抢到的

Remsk0202 commented 1 year ago

App里有提示让你选择游戏账号吗?先完成选择再遇到人机验证吗

我上次也是遇到了验证 那次是1.4.5和2.0.5双开了 这次就开了2.1.0 手动抢到的

你今天手动抢到了原石吗?我的脚本用的2.0.4版本的

hhhggg233 commented 1 year ago

App里有提示让你选择游戏账号吗?先完成选择再遇到人机验证吗

我上次也是遇到了验证 那次是1.4.5和2.0.5双开了 这次就开了2.1.0 手动抢到的

你今天手动抢到了原石吗?我的脚本用的2.0.4版本的

是的 我蹲路由旁边抢的 2.0.5及以前的都没必要用了 请求里面少东西

Remsk0202 commented 1 year ago

App里有提示让你选择游戏账号吗?先完成选择再遇到人机验证吗

我上次也是遇到了验证 那次是1.4.5和2.0.5双开了 这次就开了2.1.0 手动抢到的

你今天手动抢到了原石吗?我的脚本用的2.0.4版本的

是的 我蹲路由旁边抢的 2.0.5及以前的都没必要用了 请求里面少东西

2.0.5版本的脚本我使用不了,可以正常发验证码但是输入验证码后告诉我网络异常登录失败

Ljzd-PRO commented 1 year ago

也尝试删除原来的用户数据文件,让程序创建新的来用,虽然新版本应该默认还是会采用默认的Headers,并在添加兑换计划的时候获取device_fp。但不排除哪里有点Bug。

Ljzd-PRO commented 1 year ago

App里有提示让你选择游戏账号吗?先完成选择再遇到人机验证吗

我上次也是遇到了验证 那次是1.4.5和2.0.5双开了 这次就开了2.1.0 手动抢到的

你今天手动抢到了原石吗?我的脚本用的2.0.4版本的

是的 我蹲路由旁边抢的 2.0.5及以前的都没必要用了 请求里面少东西

2.0.5版本的脚本我使用不了,可以正常发验证码但是输入验证码后告诉我网络异常登录失败

v2.1.0-beta.1 有修复这个Bug

Ljzd-PRO commented 1 year ago

短时间应该是找不到什么好的解决方案了,可能最多就做个网页端兑换模式,到了兑换时间自动显示人机验证界面,然后拼手速完成验证。这个issue我转到讨论区里了