argrento/huami-token

Unable to use program to login

snowsquizy opened this issue · 3 comments

Utilising the following layout I am receiving this error
./huami_token.py -m amazfit -e me@gmail.com -p ***** -b

Getting access token with amazfit login method...
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/models.py", line 380, in prepare_url
scheme, auth, host, port, path, query, fragment = parse_url(url)
File "/usr/lib/python3/dist-packages/urllib3/util/url.py", line 392, in parse_url
return six.raise_from(LocationParseError(source_url), None)
File "", line 2, in raise_from
urllib3.exceptions.LocationParseError: Failed to parse: https://api-user.huami.com/registrations/me%40gmail.com/tokens

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "./huami_token.py", line 247, in
device.get_access_token()
File "./huami_token.py", line 66, in get_access_token
response = requests.post(auth_url, data=data, allow_redirects=False)
File "/usr/lib/python3/dist-packages/requests/api.py", line 119, in post
return request('post', url, data=data, json=json, **kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 516, in request
prep = self.prepare_request(req)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 449, in prepare_request
p.prepare(
File "/usr/lib/python3/dist-packages/requests/models.py", line 314, in prepare
self.prepare_url(url, params)
File "/usr/lib/python3/dist-packages/requests/models.py", line 382, in prepare_url
raise InvalidURL(*e.args)
requests.exceptions.InvalidURL: Failed to parse: https://api-user.huami.com/registrations/me%40gmail.com/tokens

Maybe the urls have change lately

Hi!
Just checked: urls are the same. This is probably the issue of urllib3. Some quick fixes are below.

I recommend you update everything.

Yep, good ole upgrade of requirements included urllib3 and it works.
Thanks for the quick reply

downgrading requests worked for me

pip uninstall requests # to remove current version
pip install requests==2.21.0