我正在使用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

任何帮助深表感谢 .