密码为 "@"的 HTTP 基本认证 URL

标签 http selenium http-authentication saucelabs

我正在尝试使用 Sauce Labs 为我们的登台服务器设置一些 selenium 测试。它支持基本的 http 身份验证,因此理论上我可以将 selenium URL 设置为 http://user:password@www.stagesite.com但是,密码中包含“@”,这会导致您可以想象到的各种问题。我尝试用反斜杠转义它,但据我所知,这没有任何作用。

所以,

  1. 是否有另一种方法可以使用 selenium 进行 http 身份验证,即不通过 URL。或者,

  2. 有没有办法使用基于 URL 的身份验证,但不知何故告诉浏览器“@”是密码的一部分?

最佳答案

在将它们作为 URL 的一部分传递之前,您只需要像这样对特殊字符进行编码,因此 @ 需要作为 %40 传递,例如:

https://user:password%40www.example.com

(我通常使用这个 - http://meyerweb.com/eric/tools/dencoder/ - 来满足我的编码/解码需求。)

关于密码为 "@"的 HTTP 基本认证 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20574841/

相关文章:

java - 如何在 Angular JS中发送java对象

python - session 超时,因为浏览器在 Browserstack 中空闲了 90 秒

python : no module named selenium

python - Django:一个 View 的基本身份验证(避免中间件)

Django 重定向状态代码错误

c# - 如何获取 asp.net c# 的发布数据

http - Expires vs max-age,如果两者都在 HTTP 响应中声明,哪个优先?

python - 在 Selenium [Python] 中使用 PhantomJS 进行透明截图?

java - Jersey 客户端基本身份验证对话抑制

java - 如何在我的代码中使用 Base64.java 文件?