(username, password, cookies, authToken)
| 47 | return cookies, authToken |
| 48 | |
| 49 | def LoginUserPassword(username, password, cookies, authToken): |
| 50 | logging.info("Logging in with username and password ...") |
| 51 | |
| 52 | # Do POST with credentials |
| 53 | payload = { |
| 54 | "authenticity_token": authToken, |
| 55 | "username": username, |
| 56 | "password": password, |
| 57 | "remember_me": "yes" |
| 58 | } |
| 59 | headers = { |
| 60 | "Content-Type": "application/x-www-form-urlencoded", |
| 61 | "Cookie": encodeCookies(cookies), |
| 62 | "Origin": f"https://{osmHost}", |
| 63 | "Referer": f"https://{osmHost}/login?cookie_test=true" |
| 64 | } |
| 65 | |
| 66 | conn2 = http.client.HTTPSConnection(osmHost) |
| 67 | conn2.request("POST", "/login?cookie_test=true", urllib.parse.urlencode(payload), headers) |
| 68 | res = conn2.getresponse() |
| 69 | |
| 70 | if res.status >= 400: |
| 71 | print(res.status) |
| 72 | print(res.headers) |
| 73 | print(res.read().decode('utf-8')) |
| 74 | raise Exception("Invalid login or password") |
| 75 | |
| 76 | logging.info("Logged in successfully") |
| 77 | |
| 78 | return cookies |
| 79 | |
| 80 | |
| 81 | def FetchRequestToken(cookies): |
no test coverage detected