【发布时间】:2021-10-09 20:35:37
【问题描述】:
蟒蛇
我尝试过使用 selenium webdriver,但是您必须将驱动程序指定为硬编码的浏览器类型,因此它不支持所有可能的浏览器。
我已经尝试过 webbrowser.open_new(url),虽然这可行,但我无法找到一种方法来检索在指定的 url 中完成身份验证后发生的 REDIRECTED url,然后关闭选项卡/窗口。
我需要:
- 在用户系统的默认 Web 浏览器中的新选项卡或窗口(理想情况下是窗口)中打开一个 url
- 在url中认证完成后,url会重定向到一个新的redirect uri
- 我希望能够检索并保存此重定向 uri + 它的附加查询参数
- 然后我想关闭窗口/标签
使用请求模块时: 我找不到以编程方式获取重定向 url 的方法。例如(我找不到以编程方式获取重定向 url 的方法。例如(requests-oauthlib.readthedocs.io/en/latest/...),Web 应用程序流程编号 1。,他们要求用户输入。是有什么方法不需要任何用户输入来获取位于重定向 url 中的 url / auth 代码?),Web 应用程序流编号 1.,他们要求用户输入。有没有什么方法不需要任何用户输入来获取位于重定向 url 中的 url / auth 代码?
【问题讨论】:
-
您可以对这个用例使用简单的请求并获取您需要的所有信息。 docs.python-requests.org/en/master/index.html
-
感谢您的回复!但是,即使使用请求,我也找不到以编程方式获取重定向 url 的方法。例如 (requests-oauthlib.readthedocs.io/en/latest/…), web application flow number 1. ,他们要求用户输入。有什么方法不需要任何用户输入来获取位于重定向 url 中的 url / auth 代码?
-
通过请求,您将收到一个 Response 对象,其中包含您可以使用的
url属性。如果您想检查重定向队列中的所有响应,还可以使用响应的history属性。 docs.python-requests.org/en/master/api/#requests.Response -
我得到响应 [200] 就好了。只是每当我调用响应对象的历史时,它都会返回一个空白列表,而当我调用响应对象的url时,它只会返回我输入到请求对象本身的base_url。
-
您必须检查您使用的网址是否正确。如果您收到重定向 - 它将在您的响应历史记录中。
标签: python rest authentication microsoft-graph-api webbrowser-control