跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • Selenium 如何处理 Basic Auth 的输入框的问题?
未分類
29 10 月 2020

Selenium 如何处理 Basic Auth 的输入框的问题?

Selenium 如何处理 Basic Auth 的输入框的问题?

資深大佬 : black11black 4

如题,目前有一个比较复杂的登录验证系统,简单来说分为两步,先经过一个比较正常的 web 登录验证( jwt 实现),验证成功后跳转到另外一个域下的网址,弹出一个 Basic Auth 验证。

不论顺序,网页需要经过双重认证之后才能显示内容。

用 Python3 + selenium 搞模拟的话遇到问题就是 Basic Auth 不知道怎么过。

根据网上查找到的内容,只需要将网址改为https://用户名:密码 @www.baidu.com(假设网址是百度)就能自动通过验证而不用弹出框,实测无效。

而后根据网上查找信息说,需要单独设置浏览器的 Preference 才能让上述方法有效,于是我添加了下面的代码

from selenium import webdriver  options = webdriver.ChromeOptions() options.add_experimental_option("prefs" , {'network.http.phishy-userpass-length':255}) driver = webdriver.Chrome(options = options) driver.get("https://username:[email protected]") # ... 

结果仍然无效。

有没有带佬看出来啥原因了

大佬有話說 (3)

  • 資深大佬 : royzheng

    请在 http headet 里添加 basic auth 信息,具体你用 chrome basic auth 后访问那些页面看头部

  • 資深大佬 : elfive

    加一个请求头:
    WWW-Authenticate: Basic {(username:password)的 Base64 编码值}

    https://tools.ietf.org/html/rfc7235

  • 資深大佬 : elfive

    @elfive #2 写错了,请求头的 key 应该是 Authorization

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具