Как удалить веб-страницу ASPX, требующую аутентификации

Используя библиотеку Python 'Requests', я пытаюсь очистить веб-сайт ASPX (https://cei.bmfbovespa.com.br/CEI_Responsivo/home.aspx), который требует входа в систему в первую очередь (https://cei.bmfbovespa.com.br/CEI_Responsivo/login.aspx).

Вот шаги, которые я пытаюсь сделать:

Создайте сеанс с «запросами» для обработки файлов cookie (верно?)Обновите заголовок всей информацией, которую я получил из «Заголовка запроса» с помощью Chrome Developing Tool (кроме информации о cookie из-за сеанса)Сделайте GET на странице входа, чтобы получить входные значения для POSTСООБЩЕНИЕ

Когда я делаю это вручную с помощью Chrome, после успешного входа в систему я получаю ответ «302», и меня перенаправляют на домашнюю страницу. Но с помощью python после POST я получил ответ «200», и я все еще на странице входа.

import requests
from bs4 import BeautifulSoup
from requests.packages.urllib3 import add_stderr_logger

add_stderr_logger()

s = requests.Session()

url_login = 'https://cei.bmfbovespa.com.br/CEI_Responsivo/login.aspx'

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.109 Safari/537.36',
    'Upgrade-Insecure-Requests':'1',
    'Host':'cei.bmfbovespa.com.br',
    'Connection':'keep-alive',
    'Accept-Language':'pt-BR,pt;q=0.8,en-US;q=0.6,en;q=0.4',
    'Accept-Encoding':'gzip, deflate, sdch',
    'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
}
s.headers.update(headers)

r = s.get(url_login, verify=False)
soup = BeautifulSoup(r.content)

viewstate = soup.find(id="__VIEWSTATE")['value']
viewgen = soup.find(id="__VIEWSTATEGENERATOR")['value']
eventvalid = soup.find(id="__EVENTVALIDATION")['value']

login_data = {          
        '__VIEWSTATE' : viewstate,
        '__VIEWSTATEGENERATOR' : viewgen,
        '__EVENTVALIDATION' : eventvalid,
        'ctl00$ContentPlaceHolder1$txtLogin' : '*',
        'ctl00$ContentPlaceHolder1$txtSenha' : '*',
        'tl00$ContentPlaceHolder1$btnLogar': 'Entrar'
}

resp = s.post(url_login, data=login_data, verify=False)

Если я все еще пытаюсь сделать GET с Сессией, я перенаправлен на страницу входа в систему:

url_carteira = 'https://cei.bmfbovespa.com.br/CEI_Responsivo/home.aspx'
response = s.get(url_carteira, verify=False)

И вот результат, который я получаю:

2016-02-11 22:07:07,476 INFO Starting new HTTPS connection (1): cei.bmfbovespa.com.br
2016-02-11 22:07:07,823 DEBUG "GET /CEI_Responsivo/login.aspx HTTP/1.1" 200 4522
2016-02-11 22:07:07,898 DEBUG "POST /CEI_Responsivo/login.aspx HTTP/1.1" 200 4534
C:\Users\luciano\AppData\Local\Programs\Python\Python35\lib\site-packages\requests\packages\urllib3\connectionpool.py:791: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)
2016-02-11 22:07:10,470 DEBUG "GET /CEI_Responsivo/home.aspx HTTP/1.1" 302 147
2016-02-11 22:07:10,510 DEBUG "GET /CEI_Responsivo/login.aspx HTTP/1.1" 200 4522

Я использую Python 3.5.1

Есть идеи, почему я не могу войти в систему и получить доступ к домашней странице?

Ответы на вопрос(0)

Ваш ответ на вопрос