我正在使用Meraki Captive Portal API . 流程是这样的 .
-
包含用户名和密码的登录表单 .
-
我从表单中收集用户名和密码,然后将详细信息发布到提供处理身份验证的登录URL .
-
身份验证成功后,API会将用户重定向到新页面 . 这是自动完成的 .
登录代码如下:
def index(request):
# if this is a POST request we need to process the form data
if request.method == 'POST':
username = request.POST['username']
code = request.POST['code']
login_url = request.session['login_url']
continue_url = 'http://' + request.get_host() +
reverse('splash:home')
login_params = {"username": username,
"password": code,
"continue_url": continue_url}
r = requests.post(login_url, params=login_params)
# if a GET (or any other method) we'll create a blank form
else:
login_url = request.GET['login_url']
continue_url = request.GET['continue_url']
ap_name = request.GET['ap_name']
ap_mac = request.GET['ap_mac']
ap_tags = request.GET['ap_tags']
client_ip = request.GET['client_ip']
client_mac = request.GET['client_mac']
request.session['login_url'] = login_url
request.session['continue_url'] = continue_url
request.session['ap_name'] = ap_name
request.session['ap_mac'] = ap_mac
request.session['ap_tags'] = ap_tags
request.session['client_ip'] = client_ip
request.session['client_mac'] = client_mac
return render(request, 'splash/index.html')
问题出在这里:
r = requests.post(login_url, params=login_params,
allow_redirects=True)
一切都很顺利 . 但是,当Meraki API执行GET请求时,我不会重定向 . 我还在登录页面 . 我可以对视图执行哪些操作以允许API完成重定向 .
在控制台上,我可以看到正在调用的页面,但浏览器不显示主页 .
[18 / Sep / 2018 14:56:20]“GET / splash / home / HTTP / 1.1”200 1234
[18 / Sep / 2018 14:56:20]“POST / splash / HTTP / 1.1”200 2333
任何帮助深表感谢 .