【问题标题】:How to open a URL in a user's default browser?如何在用户的默认浏览器中打开 URL?
【发布时间】: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


【解决方案1】:
import webbrowser
webbrowser.open("http://stackoverflow.com")

使用webbrowser 库。您可以使用webbrowser.open(link) 在用户喜欢的浏览器中打开链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-06
    • 2020-07-29
    • 2017-10-03
    • 2018-08-21
    • 2014-12-29
    • 1970-01-01
    • 2013-09-19
    相关资源
    最近更新 更多