HttpClient commons-httpclient 摘要认证

发布于 2024-08-29 22:16:16 字数 301 浏览 9 评论 0原文

我从使用 commons-httpclient 的 PostMethod 中收到此错误,

没有可用于 DIGEST 'realm'@localhost 的凭据

,并且从服务器返回 401。

我按照这篇文章中的例子 java客户端程序使用HttpClient API发送摘要身份验证请求(2)

但是,它似乎仍然失败。

我正在尝试连接到 XML-RPC 服务,我们使用摘要身份验证。我尝试使用 Apache xmlrpc 库,但它似乎不支持摘要身份验证。

有什么想法吗?

谢谢。

I am getting this error from a PostMethod using commons-httpclient

No credentials available for DIGEST 'realm'@localhost

and a 401 back from the server.

I followed the example from this post
java client program to send digest authentication request using HttpClient API (2)

However, it still seems to fail.

I am trying to connect to a XML-RPC service, we use digest authentication. I tried using the Apache xmlrpc library but it seems to not support digest authentication.

Any ideas?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半枫 2024-09-05 22:16:16

我正在尝试做同样的事情。我的 XML-RPC 客户端现在工作正常:

    public static short connectToBugTrackingXmlRpcServer() {
    try {
        XmlRpcClientConfigImpl xmlRpcClientConfig = new XmlRpcClientConfigImpl();
        xmlRpcClientConfig.setServerURL(new URL(CStudioGlobals.bugTrackingConfProperties.getUrlXmlRpcServer()));
        xmlRpcClientConfig.setBasicUserName(CStudioGlobals.bugTrackingConfProperties.getUsername());
        xmlRpcClientConfig.setBasicPassword(CStudioGlobals.bugTrackingConfProperties.getPassword());
        xmlRpcClientConfig.setEncoding("UTF-8");

        XmlRpcClient xmlRpcClient = new XmlRpcClient();
        xmlRpcClient.setConfig(xmlRpcClientConfig);

        CTrackerDynamicProxy xmlRpcProxy = new CTrackerDynamicProxy(xmlRpcClient);

        Ticket ticket = (Ticket)xmlRpcProxy.newInstance(Ticket.class);
        ticket.query(); // query some tickets

        return CONNECTION_SUCCESS;
    } catch (Throwable t) {
        t.printStackTrace();
        displayError(CStudioGlobals.localization.getTerm("error.title.Sql_error"),
                     CStudioGlobals.localization.getTerm("error.content._Invalid_connection"),
                     CStudioGlobals.localization.getTerm("error.resolution.Check_your_connection_settings"));
        return CONNECTION_RETRY;
    }
}

但我想使用 http 摘要身份验证。你能解释一下你是怎么做到的吗?
谢谢,

I'm trying to do the exact same thing. I have my XML-RPC client working fine now:

    public static short connectToBugTrackingXmlRpcServer() {
    try {
        XmlRpcClientConfigImpl xmlRpcClientConfig = new XmlRpcClientConfigImpl();
        xmlRpcClientConfig.setServerURL(new URL(CStudioGlobals.bugTrackingConfProperties.getUrlXmlRpcServer()));
        xmlRpcClientConfig.setBasicUserName(CStudioGlobals.bugTrackingConfProperties.getUsername());
        xmlRpcClientConfig.setBasicPassword(CStudioGlobals.bugTrackingConfProperties.getPassword());
        xmlRpcClientConfig.setEncoding("UTF-8");

        XmlRpcClient xmlRpcClient = new XmlRpcClient();
        xmlRpcClient.setConfig(xmlRpcClientConfig);

        CTrackerDynamicProxy xmlRpcProxy = new CTrackerDynamicProxy(xmlRpcClient);

        Ticket ticket = (Ticket)xmlRpcProxy.newInstance(Ticket.class);
        ticket.query(); // query some tickets

        return CONNECTION_SUCCESS;
    } catch (Throwable t) {
        t.printStackTrace();
        displayError(CStudioGlobals.localization.getTerm("error.title.Sql_error"),
                     CStudioGlobals.localization.getTerm("error.content._Invalid_connection"),
                     CStudioGlobals.localization.getTerm("error.resolution.Check_your_connection_settings"));
        return CONNECTION_RETRY;
    }
}

but I'd like to use http digest authentication. Could you explain ho you did it ?
Thanks,

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文