【发布时间】:2019-06-21 17:02:28
【问题描述】:
期望的结果:获取 URL - https://secure.tdameritrade.com/authCafe?code=123456789....
我正在尝试从下面列出的 image#2 中获取代码。它位于重定向 URL 中。我查看了整个stackoverflow,但没有一个建议奏效。我尝试了每一个变化。如果有人可以提供帮助,将不胜感激
我当前的失败代码:
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)
我会根据 post/get 获得状态码 302 或状态码 200
【问题讨论】:
-
auth_reply的状态码是什么?我假设它是 30x,你应该可以在auth_reply.headers中找到目标 url,可能在["Location"]下。 -
302 和 200 都不是错误状态代码。 200 是“成功/ok”,302 是"redirect/found"
-
@mfrackowiak 根据变化,有时我会得到状态代码 302 或状态 200。但它们总是导致 URL 带有“?error=access_denied...”而不是我想要的代码 URL。我尝试了标题之一,但没有找到我想要的东西
标签: python session url redirect python-requests