Python просит не возвращать содержимое страницы после входа в систему - PullRequest
0 голосов
/ 31 января 2020

Использование модуля requests для получения контента после входа в систему. Но все еще с формой страницы входа. Сначала я сделал обычный вход в систему, чтобы проверить network и посмотреть, какие данные формы размещены.

email: user@email.com
password: userpass
return_to: 
referer: https://www.forexample.com/report-daily #redirected page
auth: 

это выглядит выше. Поэтому я пишу функцию ниже.

from django.shortcuts import render
from django.http import HttpResponse
import requests


def atom(request):
    url = "https://www.forexample.com/auth"
    ref = "https://www.forexample.com/report-daily"

    payload = {
        "email":"user@email.com",
        "password":"userpass", 
        "referer": ref,
        "auth": ""
    }

    with requests.session() as request:
        request.post(url, data=payload)
        response = request.get(ref)


    return HttpResponse(response)

В конце концов, он просто возвращает страницу входа в качестве ответа, это не ответ на странице ref.

Вот заголовки ответа и запроса:

заголовок ответа image .

заголовок запроса image .

форма ниже.

<form role="form" action="/auth/signin" method="post" class="w40 center-block row mb00">
<div class="card">
<div class="card-image center-align bg-gray">
<h2 class="font-m auth-title">Login to ATOM</h2>
</div>
<div class="card-content">
<div class="row">
<div class="input-field col s12">
  <i class="material-icons prefix">mail_outline</i>
  <input id="email" type="email" class="validate" name="email">
  <label for="email">mail address</label>
</div>
<div class="input-field col s12">
  <i class="material-icons prefix">vpn_key</i>
  <input id="password" type="password" name="password" class="validate">
  <label for="password">password</label>
</div>
                <div class="col s12 mt10">
  <input type="checkbox" class="filled-in" name="remember-me" id="id-remember-me">
  <label for="id-remember-me" class="font-s" style="color: inherit;">login</label>
</div>
</div>
<div class="mt20 center-align">
<button type="submit" class="btn-large waves-effect waves-light btn-primary bg-atom w60">ログイン</button>
</div>
</div>
</div>
<input type="hidden" name="return_to" value="http://www.forexample.com/report-daily">
<input type="hidden" name="referer" value="">
<input type="hidden" name="auth" value="">
</form>

Что мне здесь не хватает? Что мне делать.

...