Помогите заполнить форму c помощью requests post python

Есть сайт : https://servicesmmc.mos.ru/mmc-status/ndfl-payment-status.html форма сайте

Нужно заполнить эту форму в скрипте.

Перечитал как заполнять формы, вроде делаю все верно однако, результат один тот же,та же страница, подскажите как правильно отправить запрос,причем капча постоянно меняется.

import requests as req
from bs4 import BeautifulSoup
import time
import json

main_url = 'https://servicesmmc.mos.ru'
url = 'https://servicesmmc.mos.ru/mmc-status/ndfl-payment-status.html'
headers = {
    "user-agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36'}

url_post='https://servicesmmc.mos.ru/mmc-status/rest/ndfl-payment-status'

with req.Session() as session:
    resp = session.get(url, headers=headers)
    print(resp.headers)
    bs = BeautifulSoup(resp.text, 'html.parser')
    captcha_url = main_url + bs.find_all(id='captchaImage')[0].get('src')
    with open('captcha.png', 'wb') as c:
        c.write(session.get(captcha_url).content)

    code_captcha = input('Введите код:')
    data = {'findByPassport': False,
            'captcha': code_captcha,
            "patentSerial": "12",
            "patentNumber": "3213333333",
            'falseissueDate': "03.08.2020",
            'createButton':'Проверить'}

    resp=session.post(url,headers=headers,data=data,)
    print(BeautifulSoup(resp.text,'html.parser').prettify())
    print(resp.headers)

То что видно в браузере:

введите сюда описание изображения

введите сюда описание изображениявведите сюда описание изображения


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

Автор решения: Valvea

Решение на данный момент,рабочее: заменa url и headers

import requests as req
from bs4 import BeautifulSoup
import time
import json

main_url = 'https://servicesmmc.mos.ru'
url = 'https://servicesmmc.mos.ru/mmc-status/ndfl-payment-status.html'
headers = {
    "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36',
     'X-Requested-With': 'XMLHttpRequest',
     'Content-Type': 'application/json'}

url_post='https://servicesmmc.mos.ru/mmc-status/rest/ndfl-payment-status'

with req.Session() as session:
    resp = session.get(url, headers=headers)
    print(resp.headers)
    bs = BeautifulSoup(resp.text, 'html.parser')
    captcha_url = main_url + bs.find_all(id='captchaImage')[0].get('src')
    with open('captcha.png', 'wb') as c:
        c.write(session.get(captcha_url).content)

    code_captcha = input('Введите код:')
    data = {'findByPassport': False,
            'captcha': code_captcha,
            "patentSerial": "12",
            "patentNumber": "3213333333",
            'falseissueDate': "03.08.2020",
            'createButton':'Проверить'}

    resp=session.post(url_post,headers=headers, data=json.dumps(data))
    print(BeautifulSoup(resp.text,'html.parser').prettify())
    print(resp.headers)

Ответ: {"resultCode":"NOT_FOUND_PATENT_ERROR","status":null,"statusDetail":null,"requestFieldErrorList":null}

→ Ссылка