Java HtmlUnitDriver:启用/禁用基本身份验证?
显示如何使用Java HtmlUnitDriver:启用/禁用基本身份验证?,java,selenium,basic-authentication,htmlunit-driver,Java,Selenium,Basic Authentication,Htmlunit Driver,显示如何使用HtmlUnitDriver启用基本身份验证的答案。但是,如何再次禁用它 注意:此问题的公认答案是正确的,但目前不起作用。您可以使用以下变量: 这是正确的方法。然而,通过使用Wireshark,我可以看到它仍然向其他域发送凭据。似乎是个bug。顺便说一句,我也创建了这个:我更新了答案,当您指定主机名时,它不会发送凭据。我现在不在计算机旁,但如果您在示例中使用abcd/efg凭据为Google.com执行一个getPage,那么所有后续getPage调用也会发送凭据。我相信我用Html
HtmlUnitDriver
启用基本身份验证的答案。但是,如何再次禁用它
注意:此问题的公认答案是正确的,但目前不起作用。您可以使用以下变量:
这是正确的方法。然而,通过使用Wireshark,我可以看到它仍然向其他域发送凭据。似乎是个bug。顺便说一句,我也创建了这个:我更新了答案,当您指定主机名时,它不会发送凭据。我现在不在计算机旁,但如果您在示例中使用abcd/efg凭据为Google.com执行一个getPage,那么所有后续getPage调用也会发送凭据。我相信我用HtmlUnitDriver 2.18和2.19进行了测试。我想你们的问题是选择性地将凭证发送到某个特定的主机(在你们上一个问题编辑之前)。现在,我想您需要“禁用”凭据。对吗?DefaultCredentialsProvider只是要有.removeCredentials()
WebDriver driver = new HtmlUnitDriver() {
protected WebClient modifyWebClient(WebClient client) {
DefaultCredentialsProvider creds = new DefaultCredentialsProvider();
creds.addCredentials(username, password, hostname, port, realm);
client.setCredentialsProvider(creds);
return client;
}
};