Я хочу использовать сеанс входа в систему в другой функции, но она не работает. Я использую Python 2.7 и модуль запросов. сервер является коммерческим веб-интерфейсом.
def add_device(s, argv):
headers = {'Content-Type': 'application/json; charset=UTF-8', 'Accept': 'application/json'}
url = 'https://lvgwatchit01t.***.**/watchit/ui/index.php/wapi/inventory/object?Type=Device'
s.verify = False
p = req.Request('PUT', url, json = argv, headers = headers, cookies = sessioncookie).prepare()
r = s.send(p)
rc = r.status_code
print r.text
return rc
# login routine
s = req.Session()
headers = {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
data = {'username':'***', 'password':'***'}
url = 'https://lvgwatchit01t.***.**/watchit/ui/index.php/user/login'
s.verify = False
p = req.Request('POST', url, data = data, headers = headers).prepare()
r = s.send(p)
parsed_json = json.loads(r.text)
rc = parsed_json['RC']
msg = parsed_json['MSG']
sessioncookie = r.cookies
if rc == "0":
print msg
add_device(s, data_add_device)
else:
print msg
sys.exit(1)
выход:
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): lvgwatchit01t.***.**:443
DEBUG:urllib3.connectionpool:https://lvgwatchit01t.***.**:443 "POST /watchit/ui/index.php/user/login HTTP/1.1" 200 106
You were successfully logged in!
/usr/lib/python2.7/site-packages/urllib3/connectionpool.py:857:
DEBUG:urllib3.connectionpool:https://lvgwatchit01t.***.**:443 "PUT /watchit/ui/index.php/wapi/inventory/object?Type=Device HTTP/1.1" 200 1131
{"DATA":...}],"META":{"RC":0,"MSG":"OK"}}
как получить сеанс входа во вторую функцию?