MiService
MiService copied to clipboard
账号登录上报错,无论用手机号,用户id还是邮箱都不行,怎么解决

就是登录不上去的,我测试了无数次了,换了几个人的方法,我怀疑这个操作被和谐了吧 你在新加坡的话是外网,根本连接不上
你用阿里云的海外版 白嫖一个国内VPS试试看
scription': '登录验证失败', 'securityStatus': 0, '_sign': '0psXfr43eNI0IX6q9Suk3qWbRqU=', 'sid': 'xiaomiio', 'result': 'error', 'captchaUrl': None, 'callback': 'https://sts.api.io.mi.com/sts', 'location': '', 'pwd': 0, 'child': 0, 'desc': '登录验证失败'} Traceback (most recent call last): File "/home/ubuntu/.local/lib/python3.10/site-packages/miservice/miaccount.py", line 69, in login raise Exception(resp) Exception: {'qs': '%3Fsid%3Dxiaomiio%26_json%3Dtrue', 'code': 70016, 'description': '登录验证失败', 'securityStatus': 0, '_sign': '0psXfr43eNI0IX6q9Suk3qWbRqU=', 'sid': 'xiaomiio', 'result': 'error', 'captchaUrl': None, 'callback': 'https://sts.api.io.mi.com/sts', 'location': '', 'pwd': 0, 'child': 0, 'desc': '登录验证失败'} Error https://api.io.mi.com/app/home/device_list: Login failed ubuntu@VM-4-7-ubuntu:~/MiService$
永远都是这样上不去 我不搞了 烦死了 累了
把登录操作返回结果打印出来会有一个location, 复制这个location的地址到浏览器登录一下(可能会让你确认手机号是否过变动,点击确认),然后再执行就可以了。
和这个没关系的吧 别人说要加一个python的符号,以及要在WLS上实现,所有云服务器都会失败的,别管国内国外
@jjiikkkk 我的理解是服务端有风控,由于某种原因需要二次认证导致了这个问题(比如新的IP,新的设备第一次登录)。我也是遇到同样的问题,然后把结果打印出来后找到登录地址手动登录一下,再执行就可以了。部分人可能是这个原因,可以试试。
不是部分人,是大部分人都过不去验证,你说的结果打印 到登录地址手动登陆,怎么没有登陆呢,都登陆的 都不行的
@jjiikkkk 我的理解是服务端有风控,由于某种原因需要二次认证导致了这个问题(比如新的IP,新的设备第一次登录)。我也是遇到同样的问题,然后把结果打印出来后找到登录地址手动登录一下,再执行就可以了。部分人可能是这个原因,可以试试。
怎么把结果打印出来?求方法,感谢
@jjiikkkk 我的理解是服务端有风控,由于某种原因需要二次认证导致了这个问题(比如新的IP,新的设备第一次登录)。我也是遇到同样的问题,然后把结果打印出来后找到登录地址手动登录一下,再执行就可以了。部分人可能是这个原因,可以试试。
怎么把结果打印出来?求方法,感谢
在miaccount.py这个文件,找到
resp = await self._serviceLogin(f'serviceLogin?sid={sid}&_json=true')
把resp打印出来就行了
把登录操作返回结果打印出来会有一个location, 复制这个location的地址到浏览器登录一下(可能会让你确认手机号是否过变动,点击确认),然后再执行就可以了。 感谢大佬 这样确实解决了
@jjiikkkk 我的理解是服务端有风控,由于某种原因需要二次认证导致了这个问题(比如新的IP,新的设备第一次登录)。我也是遇到同样的问题,然后把结果打印出来后找到登录地址手动登录一下,再执行就可以了。部分人可能是这个原因,可以试试。
怎么把结果打印出来?求方法,感谢
在miaccount.py这个文件,找到
resp = await self._serviceLogin(f'serviceLogin?sid={sid}&_json=true')把resp打印出来就行了
感谢提示,解决了。我把location里面的地址拿到浏览器上,登录,验证之后,服务器还是登录不上。但是根据你的提示,我换了另外一种方法,在服务器上安装x-ui,然后全局代理到本地,在本地登录一次,通过验证,即可,安装命令,bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh) 具体参考 https://github.com/vaxilu/x-ui
@jjiikkkk 我的理解是服务端有风控,由于某种原因需要二次认证导致了这个问题(比如新的IP,新的设备第一次登录)。我也是遇到同样的问题,然后把结果打印出来后找到登录地址手动登录一下,再执行就可以了。部分人可能是这个原因,可以试试。
怎么把结果打印出来?求方法,感谢
在miaccount.py这个文件,找到
resp = await self._serviceLogin(f'serviceLogin?sid={sid}&_json=true')把resp打印出来就行了感谢提示,解决了。我把location里面的地址拿到浏览器上,登录,验证之后,服务器还是登录不上。但是根据你的提示,我换了另外一种方法,在服务器上安装x-ui,然后全局代理到本地,在本地登录一次,通过验证,即可,安装命令,bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh) 具体参考 https://github.com/vaxilu/x-ui
方便加个Q:3459220392,指导一下!感谢
设置服务器上的代理
- 安装 tinyproxy
在您的服务器上安装 tinyproxy。这通常可以通过您的包管理器来完成。 例如,在 Ubuntu 上使用命令:
sudo apt-get install tinyproxy
- 配置 tinyproxy
-
打开 tinyproxy 的配置文件,通常位于 /etc/tinyproxy/tinyproxy.conf。
-
修改配置: 找到所有包含 Allow 关键字的行。这些行定义了哪些 IP 地址被允许使用代理。 默认情况下,tinyproxy 可能仅允许本地网络的流量。 将这些行注释掉(在行首添加 #),这样 tinyproxy 将接受来自任何 IP 地址的连接。 注意: 这可能会带来安全风险,因为任何人都可以使用您的代理服务器。确保您了解这一点并采取适当的安全措施。
- 运行 tinyproxy
- 启动 tinyproxy 服务。这通常可以通过以下命令之一来完成:
sudo service tinyproxy start
或
sudo systemctl start tinyproxy
- 在本地计算机上设置代理
- 全局设置
- 在网络设置中配置代理,输入您的服务器的 IP 地址和 tinyproxy 运行的端口(默认为 8888)。
- 浏览器设置
- 在浏览器的网络或代理设置中进行配置。
例如,在 Chrome 中,可以通过 设置 -> 高级 -> 系统 -> 打开计算机的代理设置 来进行配置。
测试代理
- 打开浏览器
使用已经设置了代理的浏览器。
进入小米账户登录页面。
- 登录您的账户
输入您的用户名和密码进行登录。
我发现了一种可能性。 家里的网络,电信没有分配外网IP给你。现在电信默认给你分配了一个内网地址,没有公网地址。 我后来打电话给电信要求给一个外网IP,立刻就可以登录了。
有解决小米账号在电脑端相同的网络环境登录下就没再触发
我是用的香港节点的阿里云成功了,用secretCRT给服务器打了隧道,然后用Proxifier做了代理,登陆了几次后就可以了
@jjiikkkk 我的理解是服务端有风控,由于某种原因需要二次认证导致了这个问题(比如新的IP,新的设备第一次登录)。我也是遇到同样的问题,然后把结果打印出来后找到登录地址手动登录一下,再执行就可以了。部分人可能是这个原因,可以试试。
怎么把结果打印出来?求方法,感谢
在miaccount.py这个文件,找到
resp = await self._serviceLogin(f'serviceLogin?sid={sid}&_json=true')把resp打印出来就行了
按这个方法成功了,感谢