Не удается войти в веб-приложение Outlook с помощью сканера Python

Привет, я пытаюсь войти в веб-приложение Outlook с помощью поискового робота Python, но не могу пройти через страницу входа. Из того, что я заметил, сайт перенаправит запрос на получение и установит файл cookie; а именно OutlookSession. Затем почтовый запрос отправляется на тот же URL-адрес с этим файлом cookie, и именно по этой причине я использую request.Session(). Это мой код:

import requests

URL = "https://mail.guc.edu.eg/owa"

username = "username"
password = "password"

s = requests.Session()
s.get(URL)
login_data={"username":username, "password":password}
r = s.post("https://mail.guc.edu.eg/owa", data=login_data)

person Mohamed Sedky    schedule 09.02.2018    source источник
comment
вы забыли задать вопрос.   -  person MooingRawr    schedule 09.02.2018
comment
Затем запрос на публикацию отправляется на тот же URL Вы уверены?   -  person John Gordon    schedule 09.02.2018


Ответы (2)


Чтобы расширить ответ Магуна, есть три дополнительных поля формы, которые ожидает OWA. Вот что сработало для меня:

import requests

owa_login_form_url = 'https://mail.yourdomain.com/owa'

user_name = 'user'
pwd = 'pwd'
flags = '4'
forcedownlevel = '0'

sess = requests.Session()

payload = {'username': user_name, 'password': pwd, 'destination': owa_login_form_url, 'flags': flags, 'forcedownlevel': forcedownlevel }
resp = sess.post(owa_login_form_url + '/auth.owa', data=payload)
person vm0112    schedule 16.11.2018

Похоже, форма отправляется на https://mail.guc.edu.eg/owa/auth.owa.

import requests

URL = "https://mail.guc.edu.eg/owa"

username = "username"
password = "password"

s = requests.Session()
s.get(URL)
login_data={"username":username, "password":password}
r = s.post("https://mail.guc.edu.eg/owa/auth.owa", data=login_data)
person A Magoon    schedule 09.02.2018
comment
Ага, мой плохой. Однако он все еще не работает после зависания URL-адреса сообщения. r.content из почтового запроса выводит html страницы входа. - person Mohamed Sedky; 09.02.2018