Upon trying all the answers above, I found that using RequestsCookieJar"RequestsCookieJar" instead of the regular CookieJar for subsequent requests fixed my problem.
import requests
import json
authUrl = 'https://whatever.com/login'
#The subsequent url
testUrl = 'https://whatever.com/someEndpoint'
#Whatever you are posting
login_data = {'formPosted':'1', 'login_email':'[email protected]', 'password':'pw'}
#The auth token or any other data that we will recieve from the authRequest.
token = ''
# Post the loginRequest
loginRequest = requests.post(authUrl,login_data)
print loginRequest.text
# Save the request content to your variable. In this case I needed a field called token.
token = str(json.loads(loginRequest.content)['token'])
print token
# Verify successfull login
print loginRequest.status_code
#Create your RequestsCookieJar for your subsequent requests and add the cookie
jar = requests.cookies.RequestsCookieJar()
jar.set('LWSSO_COOKIE_KEY', token)
#Execute your next request(s) with the RequestCookieJar set
r = requests.get(testUrl, cookies=jar)
print(r.text)
print(r.status_code)
import requests
import json
# The Login URL
authUrl = 'https://whatever.com/login'
# The subsequent URL
testUrl = 'https://whatever.com/someEndpoint'
# Logout URL
testlogoutUrl = 'https://whatever.com/logout'
# Whatever you are posting
login_data = {'formPosted':'1',
'login_email':'[email protected]',
'password':'pw'
}
# The Authentication token or any other data that we will receive from the Authentication Request.
token = ''
# Post the login Request
loginRequest = requests.post(authUrl, login_data)
print("{}".format(loginRequest.text))
# Save the request content to your variable. In this case I needed a field called token.
token = str(json.loads(loginRequest.content)['token']) # or ['access_token']
print("{}".format(token))
# Verify Successful login
print("{}".format(loginRequest.status_code))
# Create your Requests Cookie Jar for your subsequent requests and add the cookie
jar = requests.cookies.RequestsCookieJar()
jar.set('LWSSO_COOKIE_KEY', token)
# Execute your next request(s) with the Request Cookie Jar set
r = requests.get(testUrl, cookies=jar)
print("R.TEXT: {}".format(r.text))
print("R.STCD: {}".format(r.status_code))
# Execute your logout request(s) with the Request Cookie Jar set
r = requests.delete(testlogoutUrl, cookies=jar)
print("R.TEXT: {}".format(r.text)) # should show "Request Not Authorized"
print("R.STCD: {}".format(r.status_code)) # should show 401