2017-02-13 9 views
0

Библиотека запросов «http://docs.python-requests.org/en/master/» Когда этот код запущен, он должен войти на сайт, указанный в качестве URL-адреса, я думаю, что эта часть работает успешно, но на самом деле понятия не имею. Я думаю, что происходит, потому что я не правильно рассказываю сайту о том, чтобы браузер, на котором он был запущен, сразу же выходил из системы, после этого, и когда я прошу распечатать код веб-сайтов, он снова перенаправляется на страницу входа в систему и впоследствии печатает что вместо индекса, который я хочу напечатать.Python 3.6 Запросы запросов modual

Короткий идентификатор, как кто-то, чтобы исправить мой код или переписать его, чтобы он входил в систему и загружал страницу индекса, и если бы вы так любезно сказали мне, почему мой код не работает, и объясните хотя бы небольшой код.

import requests 

url = 'http://www.abcol.ac.uk/studentnet/timetables/login.cfm' 
payload = { 
    'usernameinput': 'ausername', 
    'passwordinput': 'apassword', 
} 

umeme = requests.session() 
r = requests.post(url, data=payload, headers={"Connection": "keep-alive"}) 
print (r.cookies) 
page = umeme.get('http://www.abcol.ac.uk/studentnet/timetables/index.cfm') 
print(page.content) 

На странице заголовки являются https://gyazo.com/7b402bf0142871cb03b379ae450792bf , не стесняйтесь спрашивать меня для получения дополнительной информации, если вам это нужно Спасибо заранее за любую помощь.

+0

Что такое 'status_code' первого запроса? Попробуйте добавить файлы cookie с первого запроса во втором запросе как 'umeme.get ('http://www.abcol.ac.uk/studentnet/timetables/index.cfm', cookies = r.cookies.get_dict())' – Andersson

ответ

0

Ваша полезная информация неверна. Форма представляет конечную точку с полезной нагрузкой «form_submitted = истина & имя пользователя = & пароль =»

ваша полезная нагрузка должна имитировать это, например, так:

payload = { 
    'username': 'ausername', 
    'password': 'apassword', 
    'form_submitted': 'true' 
}