-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexample.py
More file actions
37 lines (27 loc) · 1.13 KB
/
example.py
File metadata and controls
37 lines (27 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import asyncio
from getpass import getpass
from jaccount_cli import JaccountCLIAsyncIO
async def main():
async with JaccountCLIAsyncIO("https://umjicanvas.com/login/openid_connect") as cli:
await cli.init()
captcha_ascii = cli.captcha_generate_ascii()
print()
print(captcha_ascii)
print()
# or you can use
# cli.captcha_show_external()
captcha = input("Please enter the shown captcha: ")
username = input("Please enter jaccount username: ")
password = getpass("Please enter password: ")
await cli.login(username, password, captcha)
async with cli.session.get(
"https://umjicanvas.com/api/v1/users/self/favorites/courses?include[]=term&exclude[]=enrollments",
headers={"Accept": "application/json"},
) as response:
print(await response.text())
# print cookies
cookies = cli.get_cookies()
for key, cookie in cookies.items():
print('Key: "%s", Value: "%s"' % (cookie.key, cookie.value))
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(main())