Вход в Fidelity с python запросами возвращает неверный запрос - PullRequest
0 голосов
/ 07 апреля 2020

После этих двух сообщений:

Как использовать модуль запросов 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&#32.....
</BODY>
</HTML>

Что я делаю не так?

...