Как через python авторизоваться на госуслугах?

Есть база, которую необходимо проверить на валидность, но какой запрос get-ом не шлешь, все равно пишет статус 200, не понимаю, почему и где может быть ошибка (проверил лично на своем кабинете, даже когда не правильный пароль ввожу, пишет 200 : OK) Если пишу post-ом то пишет 405 код:

import requests
from requests.auth import HTTPDigestAuth
url = 'https://esia.gosuslugi.ru/login/'
r=requests.get(url, auth=HTTPDigestAuth('тут логин', 'тут пароль'))
print(r.status_code)


Ответы (2 шт):

Автор решения: Abu Suleiman

госваш код работает так как и должен работать, вы проверяете статус, в последней строке.

import requests
from requests.auth import HTTPDigestAuth
url = 'https://esia.gosuslugi.ru/login/'
r=requests.get(url, auth=HTTPDigestAuth('тут логин', 'тут пароль'))
=> print(r.status_code)

Пожалуйста поясните, что именно вам нужно сделать

→ Ссылка
Автор решения: Сергей Ш

как пример

import requests

json_data = {
    'login': '+7(905)4443311',# по почте '[email protected]'
    'idType': 'phone',        # по почте 'email'
    'password': '4567890',
}

response = requests.post('https://esia.gosuslugi.ru/aas/oauth2/api/login', json=json_data)
if response.json()['status'] == 'error':
    print('Неверные логин или пароль')

может потребоватся cookies, headers. Рекомендую вам делать регистрацию и последующие запросы делать в одной сессии. status_code == 200 Означает что пришел ответ от сервера куда посылался запрос. Сам ответ будет в response.json().

→ Ссылка