xiaogpt icon indicating copy to clipboard operation
xiaogpt copied to clipboard

Error https://api.io.mi.com/app/home/device_list: Login failed

Open unomede opened this issue 1 year ago • 3 comments

Exception on login xxxxxxxxxx: Cannot connect to host account.xiaomi.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')] Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 980, in _wrap_create_connection return await self._loop.create_connection(*args, **kwargs) # type: ignore[return-value] # noqa File "C:\ProgramData\Anaconda3\lib\asyncio\base_events.py", line 1090, in create_connection transport, protocol = await self._create_connection_transport( File "C:\ProgramData\Anaconda3\lib\asyncio\base_events.py", line 1120, in _create_connection_transport await waiter File "C:\ProgramData\Anaconda3\lib\asyncio\sslproto.py", line 534, in data_received ssldata, appdata = self._sslpipe.feed_ssldata(data) File "C:\ProgramData\Anaconda3\lib\asyncio\sslproto.py", line 188, in feed_ssldata self._sslobj.do_handshake() File "C:\ProgramData\Anaconda3\lib\ssl.py", line 945, in do_handshake self._sslobj.do_handshake() ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "C:\Users\ \Desktop\code\20230305_xiaomiChatGPT\MiService\miservice\miaccount.py", line 56, in login resp = await self._serviceLogin(f'serviceLogin?sid={sid}&_json=true') File "C:\Users\ \Desktop\code\20230305_xiaomiChatGPT\MiService\miservice\miaccount.py", line 94, in _serviceLogin async with self.session.request('GET' if data is None else 'POST', url, data=data, cookies=cookies, headers=headers) as r: File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\client.py", line 1141, in aenter self._resp = await self._coro File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\client.py", line 536, in _request conn = await self._connector.connect( File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 540, in connect proto = await self._create_connection(req, traces, timeout) File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 901, in _create_connection _, proto = await self._create_direct_connection(req, traces, timeout) File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 1206, in _create_direct_connection raise last_exc File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 1175, in _create_direct_connection transp, proto = await self._wrap_create_connection( File "C:\ProgramData\Anaconda3\lib\site-packages\aiohttp\connector.py", line 982, in _wrap_create_connection raise ClientConnectorCertificateError(req.connection_key, exc) from exc aiohttp.client_exceptions.ClientConnectorCertificateError: Cannot connect to host account.xiaomi.com:443 ssl:True [SSLCertVerificationError: (1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1129)')] Error https://api.io.mi.com/app/home/device_list: Login failed

这是啥问题,是接口被小米墙了?

unomede avatar Mar 10 '23 09:03 unomede

same as #41 #81

yihong0618 avatar Mar 10 '23 09:03 yihong0618

async with self.session.request( "GET" if data is None else "POST", url, data=data, cookies=cookies, headers=headers, ssl = False ) as r

我在miservice包里面,miaccount.py 的这段code加上ssl = False,就完美搞定了

unomede avatar Mar 11 '23 14:03 unomede

fixed run:

pip3 install -U git+https://github.com/yihong0618/MiService

yihong0618 avatar Mar 11 '23 15:03 yihong0618

fixed run:

pip3 install -U git+https://github.com/yihong0618/MiService

还是会报错

AirHua-byte avatar Mar 19 '23 13:03 AirHua-byte

@AirHua-byte 报错信息?

or 你可以拉下最新代码试试

yihong0618 avatar Mar 19 '23 13:03 yihong0618