diff options
| author | Dylan Bolger <dylan.bolger00@gmail.com> | 2023-10-16 07:43:05 -0500 |
|---|---|---|
| committer | Dylan Bolger <dylan.bolger00@gmail.com> | 2023-10-16 07:43:05 -0500 |
| commit | fb4b161ae30fd2f730a4c2d5935e8a761a335ed7 (patch) | |
| tree | 32e15513085eb76683fd8712ee568e4e7abd00c5 /app | |
| parent | 66f5e6bc40bb193a02b3e3219f1c55c2f30362b1 (diff) | |
| download | city-utilities-restful-wrapper-fb4b161ae30fd2f730a4c2d5935e8a761a335ed7.tar.xz city-utilities-restful-wrapper-fb4b161ae30fd2f730a4c2d5935e8a761a335ed7.zip | |
Use session to perform login request and clear cookies after each request
Diffstat (limited to 'app')
| -rw-r--r-- | app/request/login/login_request.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/request/login/login_request.py b/app/request/login/login_request.py index c74986e..4bdd3f5 100644 --- a/app/request/login/login_request.py +++ b/app/request/login/login_request.py @@ -2,6 +2,8 @@ import requests import re from ...constants.constants import loginPageHeaders, loginRequestJson, genericRequestHeaders, loginPageUri, loginRequestEndpoint +s = requests.session() + def login(): # Grab generated session keys from viewing the webpage aga, asi, ct = grabRequiredKeys() @@ -17,7 +19,7 @@ def login(): def grabRequiredKeys(): - loginPageResponse = requests.get(loginPageUri, headers=loginPageHeaders) + loginPageResponse = s.get(loginPageUri, headers=loginPageHeaders) affinityMatcher = re.compile("CORS=(.+?);") affinityResults = affinityMatcher.search(loginPageResponse.headers['Set-Cookie']) appGatewayAffinity = affinityResults.group(1) @@ -29,6 +31,7 @@ def grabRequiredKeys(): csrfMatcher = re.compile("id=\"hdnCSRFToken\" value=\"(.+)\"") csrfResults = csrfMatcher.search(loginPageResponse.text) csrfToken = csrfResults.group(1) + s.cookies.clear() return appGatewayAffinity, aspNetSessionId, csrfToken def performLoginRequest(appGatewayAffinity, aspNetSessionId, csrfToken): @@ -40,7 +43,7 @@ def performLoginRequest(appGatewayAffinity, aspNetSessionId, csrfToken): genericRequestHeaders['csrftoken'] = csrfToken - loginResponse = requests.post( + loginResponse = s.post( loginRequestEndpoint, cookies=loginRequestCookies, headers=genericRequestHeaders, @@ -50,4 +53,5 @@ def performLoginRequest(appGatewayAffinity, aspNetSessionId, csrfToken): scpMatcher = re.compile("SCP=(.{36});") scpSearchResults = scpMatcher.search(loginResponse.headers['Set-Cookie']) loginToken = scpSearchResults.group(1) + s.cookies.clear() return loginToken |
