• Как программно получить определенный Cookies(SID) при авторизации на сайте с использованием Python?

    @mikesaven Автор вопроса
    Сергей Соловьев, как именно его передавать?
    попробовал, вот такой вариант, нужного кука не вижу.
    import requests
    from user_agents import parse
    
    # Замените эти значения на свои реальные учетные данные и User-Agent
    username = 'в'
    password = 'в/в'
    ua_string = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Touch)'
    user_agent = parse(ua_string)
    
    # URL для запроса авторизации
    auth_url = 'https://g?auth_return_url=https://gg.by:8243'
    
    # JSON-данные для запроса авторизации
    auth_data = {
        'sso_p_Login': username,
        'sso_p_Password': password
    }
    
    # Заголовки с User-Agent
    headers = {
        'User-Agent': ua_string
    }
    
    # Отправка POST-запроса для авторизации
    response = requests.post(auth_url, headers=headers, data=auth_data)
    
    # Проверка успешности запроса
    if response.status_code == 200:
        # Получение кук
        cookies = response.cookies.get_dict()
        print(cookies)
    Написано
  • Как программно получить определенный Cookies(SID) при авторизации на сайте с использованием Python?

    @mikesaven Автор вопроса
    Максим Д., пробовал использовать задержки.
    from selenium.webdriver.support import expected_conditions as EC
    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.chrome.options import Options
    
    # Настройка опций для запуска Chrome в headless режиме
    chrome_options = Options()
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--no-sandbox")
    chrome_options.add_argument("--disable-dev-shm-usage")
    chrome_options.add_argument("--disable-gpu")
    
    # Инициализация драйвера Selenium с опциями
    driver = webdriver.Chrome(options=chrome_options)
    
    # Открыть страницу входа
    driver.get("https://gg?auth_return_url=https:/gg.by:8243")
    
    # Найти элементы ввода для логина и пароля
    login_input = driver.find_element(By.NAME, 'sso_p_Login')
    password_input = driver.find_element(By.NAME, 'sso_p_Password')
    
    # Ввести учетные данные
    login_input.send_keys('ы')
    password_input.send_keys('ыы')
    
    # Отправить форму
    password_input.send_keys(Keys.RETURN)
    
    # Использование Explicit Wait для ожидания переадресации
    wait = WebDriverWait(driver, 10)
    
    # Wait for new page URL containing the specified substring
    wait.until(EC.url_contains("gg"))
    
    # Из них можно будет достать SID
    cookies = driver.get_cookies()
    print(cookies)  # Выведет список cookies
    
    auth_sid = next((cookie['value'] for cookie in cookies if cookie['name'] == 'auth_sid'), None)
    print(auth_sid)
    
    # Закрыть браузер
    driver.quit()


    Нужного кука не приходит. Но и как мне кажется не получается даже залогинится, потому что даже если я ввожу неверные логин или пароль, куки приходят те же
    Написано
  • Как программно получить определенный Cookies(SID) при авторизации на сайте с использованием Python?

    @mikesaven Автор вопроса
    Сергей Соловьев, при простом запросе через request нужный кук не приходит в ответе. И при передаче логина и пароля, ничего не меняется. Я так понимаю может стоит защита на программный вход, возможно...) Я далеко не профессионал... При использовании seleniunm хотябы получается войти, но не словить кук.

    import requests
    
    url = 'https://gg?auth_return_url=https://gg.by:8243'
    
    
    data = {
        'sso_p_Login': 'ы',
        'sso_p_Password': 'ы'
    }
    
    response = requests.post(url=url, data=data)
    response.raise_for_status() 
    print("Запрос выполнен успешно")
    
    if response.cookies:
        print("Куки в ответе:", response.cookies)
    else:
        print("Ответ не содержит куки")
    Написано