После этих двух сообщений:
Как использовать модуль запросов python для входа на fidelity.com
Как войти в систему Веб-сайт Fidelity и переход по нему?
Я попытался самостоятельно выполнить вход в систему для обеспечения точности, используя текущее проверенное значение DEVICE_PRINT:
import requests DEVICE_PRINT = "version=3.5.2_2&pm_fpua=mozilla/5.0 (windows nt 10.0; win64; x64; rv:74.0) gecko/20100101 firefox/74.0|5.0 (Windows)|Win32&pm_fpsc=24|1366|768|728&pm_fpsw=&pm_fptz=2&pm_fpln=lang=en-US|syslang=|userlang=&pm_fpjv=0&pm_fpco=1&pm_fpasw=&pm_fpan=Netscape&pm_fpacn=Mozilla&pm_fpol=true&pm_fposp=&pm_fpup=&pm_fpsaw=1366&pm_fpspd=24&pm_fpsbd=&pm_fpsdx=&pm_fpsdy=&pm_fpslx=&pm_fpsly=&pm_fpsfse=&pm_fpsui=&pm_os=Windows&pm_brmjv=74&pm_br=Firefox&pm_inpt=&pm_expt=" with requests.Session() as s: # creating a cookie? response = s.get('https://fidelity.com') # logging in login_url = 'https://login.fidelity.com/ftgw/Fas/Fidelity/RtlCust/Login/Response/dj.chf.ra' payload = {'DEVICE_PRINT': DEVICE_PRINT, 'SavedIdInd': 'N', 'SSN': USERNAME, 'PIN': PASSWORD} r = s.post(login_url, data=payload, headers=dict(referer='https://digital.fidelity.com/prgw/digital/login/full-page')) response = s.get('https://oltx.fidelity.com/ftgw/fbc/oftop/portfolio#summary') print(response.text)
Я пытался поиграться с разными ссылками реферера. но независимо от того, что я делаю, я всегда получаю один и тот же текст ответа:
<HTML><HEAD> <TITLE>Bad Request</TITLE> </HEAD><BODY> <H1>Bad Request</H1> Your browser sent a request that this server could not understand.<P> Reference ..... </BODY> </HTML>
Что я делаю не так?