使用java库设置摘要http请求

时间:2013-03-06 18:59:14

标签: java curl http-headers digest digest-authentication

所以我正在尝试连接到数据库(服务器的所有者将设置工作外包,并且不知道有关它的详细信息)并且具有用户名和密码。当我尝试以最基本的方式连接卷曲时,我被拒绝了。

curl --user“用户名:密码”http://test.com

当我添加--digest标志时,它可以工作。所以一个工作的卷曲请求看起来像这样:

curl --digest --user“用户名:密码”http://test.com

现在的问题是我需要在java中编写代码并且不太了解--digest标志正在做什么。我知道摘要身份验证和算法,但这是我不想实现的,我认为我也需要(基于curl有一个简单的标志,我希望在java中有一些类似的工作) )。有谁知道更简单的方法吗?我可以设置一些标题吗?基本上我想知道来自curl在java中的等价物的--digest标志。感谢。

2 个答案:

答案 0 :(得分:0)

Apache HttpClient库支持各种身份验证方案,但不会像设置--digest标志那样简单。

请在此处查看相关文档:http://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html

此处的抢先摘要式身份验证的具体示例:http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientPreemptiveDigestAuthentication.java

答案 1 :(得分:0)

我不知道这与数据库有什么关系,但是--digest启用了摘要式身份验证。没有它,您使用的是基本身份验证。

http://curl.haxx.se/docs/manpage.html#--digest

以下是关于这两者意味着什么的规范性参考,我会看看我是否能找到更友好的读者,如果我这样做的话就添加它。

http://tools.ietf.org/html/rfc2617

这似乎有点轻松......好吧...... - 摘要:)

http://frontier.userland.com/stories/storyReader $ 2159号邮政编码

我还建议使用Apache HTTP客户端来执行来自java的http请求,但我不确定你的问题介绍中你提到的数据库,如果这实际上是你想做的事情。