Как получить код перенаправления URL с помощью Python? - PullRequest
0 голосов
/ 28 января 2019

Желаемый результат: Получить URL - https://secure.tdameritrade.com/authCafe?code=123456789....

Я пытаюсь получить код с изображения № 2, указанного ниже.Он расположен в URL перенаправления.Я просмотрел весь стекопоток, но ни один из советов не сработал.Я перепробовал все варианты.Если кто-то может помочь, он будет очень признателен

URL: https://auth.tdameritrade.com/auth?response_type=code&redirect_uri=https://secure.tdameritrade.com/authCafe&client_id=MOBI@AMER.OAUTHAP

Изображение № 1: enter image description here

Изображение № 2:enter image description here

Изображение № 3: Я получаю этот URL-адрес ошибки: enter image description here

Мой текущий код ошибки:

import requests
import json

request_session = requests.session()
url = 'https://auth.tdameritrade.com/auth?response_type=code&redirect_uri=https://secure.tdameritrade.com/authCafe&client_id=MOBI@AMER.OAUTHAP'
data = {'username':'MY_USERNAME', 'password': 'MY_PASSWORD'}
auth_reply = request_session.post(url, data=data)
#auth_reply = request_session.post(url, auth=('MY_USERNAME', 'MY_PASSWORD'))
#auth_reply2 = request_session.get(auth_reply.url)
#auth_reply = request_session.post(url, data=data)
print(auth_reply.history[0].url)
print(auth_reply.history)
print(request_session.get(auth_reply.url).url)
print(auth_reply.url)

Я бы получил код состояния 302 или код состояния 200 в зависимости от post / get

1 Ответ

0 голосов
/ 28 января 2019

Я нашел решение.Сайт не оптимизирован для простой аутентификации по имени пользователя и паролю.Для того, чтобы войти в систему программно, мне также нужно было бы ввести скрытые значения в:

data = {'username':'MY_USERNAME', 'password': 'MY_PASSWORD', '_csrf' : ...}

Оставшиеся скрытые значения могут быть сгенерированы их файлами JS.

Это скрепингподход к проблеме.

Картинка № 1: enter image description here

...