dimanodg
А может быть и такое: полученный от КиноПоиска “Секрет”, Яндекс и не думал передавать мне! )))
Обычно они так устроены. Имя и пароль ты вводишь на другом сайте, к которому есть доверие, а тот сайт даёт тебе какой-то секрет для входа на исходный сайт. Входит ли другой сайт сам или у него есть какая-то договорённость по API с исходным сайтом, всё равно они работают по протоколу HTTP. А в протоколе HTTP все варианты аутентификации известны.
dimanodg
Я взял из формы входа КиноПоиска только Action, но не распарсил его. Там в Query несколько вложенных retpath и ещё id какой-то. Может он годится на роль того “Секрета”?
Ты действуешь наугад, а я тебе сказал проанализировать трафик.
Вот
тут это сказано.
Тебе надо браузер подменить скриптом своим. Чтобы подменить браузер, ты должен понять, что он делает и сделать то же самое. Опыта у тебя мало, поэтому ты не можешь сходу определить только ключевые элементы в процессе авторизации на сайте. С опытом, когда ты будешь входить на любом сайте, ты будешь быстрее это делать.
Вот эти поля
dimanodg
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:74.0) Gecko/20100101 Firefox/74.0',
# 'Accept': 'application/json, text/javascript, */*; q=0.01',
# 'Accept-Language': 'en-US,en;q=0.5',
# 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
# 'X-Requested-With': 'XMLHttpRequest',
# 'Connection': 'keep-alive',
}
они нафиг не нужны. Даже поле User-Agent тоже слишком уж переполнено ненужной информацией.
Вот так обычно хватает
headers = {
'User-Agent': 'Firefox'
}
и все сайты, жёстко проверяющие заголовки, открываются влёгкую.
А почему так происходит? Да он хочет понять просто, какой у тебя браузер, чтобы тебе лучше картинку выдать, чтобы она лучше смотрелась у тебя в окне.
Вот с опытом ты будешь такие вещи понимать. Ты будешь понимать, как думает админ, который всё это лепил, и зачем там эти проверки заголовков.
То же самое касается атрибута action в форме и полных ссылок этих для авторизации. Там есть элементы, которые играют роль, а есть элементы просто для статистики или настроек.
dimanodg
Там в Query несколько вложенных retpath и ещё id какой-то.
Повтори полностью то, что делает браузер. Потом можешь сужаться только до необходимых элементов. Я пока что вижу, что ты не отследил точно, что там происходит, и пытаешься наугад там что-то вставлять.