Как войти на сайт с куки и перенаправить? - PullRequest
0 голосов
/ 04 октября 2018

Я хотел бы просто войти на веб-страницу (страницу моего университета), используя запросы или любой другой модуль, который вы, ребята, порекомендовали.Проблема в том, что в Интернете вы найдете учебники только о том, как это сделать, на некоторых веб-сайтах «самостоятельной сборки» без файлов cookie или чего-либо еще.Иногда сложно передать промежуточный токен или что-то в этом роде, но кажется, что на этом веб-сайте его нет.

Я действительно не люблю куки и все такое.Поэтому я не знаю, нужно ли мне их сохранять (и какие), какие из них важны и как с ними обращаться в целом.

На следующих снимках экрана показаны файлы cookie и заголовки, которые принадлежат форме входа в систему.Похоже, что после того, как вы вошли в систему, чтобы проверить файл cookie сеанса или что-то в этом роде, происходит какое-то перенаправление.проблема.

Вопрос, заданный сейчас: как я могу войти на сайт, который использует куки для обработки сессии.Было бы неплохо, если бы вы могли помочь мне с моей конкретной проблемой, но я также рад, если вы просто поможете мне с вопросом и обработкой файлов cookie в целом.

Я просто могу загрузить 2 изображения: testsession= 72087 - это перенаправление.Он использует метод «GET», а cookie-файл ответа (MoodleSession) - это то, что вам нужно.Так что, похоже, что-то пропущено или что-то в этом роде.

Спросите меня, нужны ли вам дополнительные подробности, или просто проверьте страницу 1014 *, о которой я говорю.

Я рад зався помощь, которую я могу получить.Cookies1 Headers1

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Вы должны прочитать API документ requests, есть параметр allow_redirects.Установите на False.

import requests

url = "https://moodle.uni-due.de/login/index.php"

headers = {
    "Origin": "https://moodle.uni-due.de",
    "Referer": "https://moodle.uni-due.de/login/index.php",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36"
}

data = {
    "username":"j******n",
    "password":"j*******Y",
    "anchor":""

}


with requests.Session() as se:
    res = se.post(url , headers = headers , data = data , allow_redirects = False)
    print(res.cookies)

Выход

<RequestsCookieJar[<Cookie MoodleSession=7ip39c4u******j7pvk4tiola6 for moodle.uni-due.de/>]>
0 голосов
/ 04 октября 2018

Возможно, вы захотите использовать пакет selenium для автоматизации навигации по веб-сайтам.После входа в систему с помощью selenium вы можете продолжить работу в том же сеансе.

Я взял этот код из ответа на вопрос StackOverflow :

driver = webdriver.Chrome(...)

username = driver.find_element_by_id("username")
password = driver.find_element_by_id("password")

username.send_keys("YourUsername")
password.send_keys("Pa55worD")

driver.find_element_by_name("submit").click()
...