带有“@”符号密码的HTTP基本身份验证URL

53

我正试图使用Sauce Labs在我们的 staging server 上设置一些 selenium 测试。该服务器使用基本的 http 身份验证,因此理论上我可以将 selenium URL 设置为 http://user:password@www.stagesite.com然而,密码中包含一个“@”,这可能会导致各种问题。我尝试用反斜杠对其进行转义,但据我所知,这没有起作用。

那么,

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

  2. 是否有一种方法可以使用基于 URL 的身份验证,但是可以告诉浏览器“@”是密码的一部分?


此外,我认为Selenium仍然可以处理标准的HTTP身份验证对话框;也许只需尝试录制并查看您通过提示登录时会得到什么。 - admdrew
1个回答

59

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

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

我通常使用这个工具 - http://meyerweb.com/eric/tools/dencoder/ - 来进行我的编码和解码需求。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接