当我正在做一个正在调用URL的项目并且该URL正在使用siteminder时,因此每次我对该URL发出请求时

https://some-host/a/getmeta?id=10


它将我重定向到其他包含siteminder的URL

location: https://login.somehost.com/siteminderagent/nocert/1309460767/smgetcre
d.scc?TYPE=16777217&REALM=-SM-Documentum%20[12%3a06%3a07%3a4932]&SMAUTHREASON=0&
METHOD=GET&SMAGENTNAME=-SM-6D9yKpar83ASDc5Sb4KDjZtHgfZId%2fYHFKbzwYvx5EUeGMi0dOa
uGVx6wOk1daI3&TARGET=-SM-http%3A%2F%2Fsome-host%2Fa%2Fgetmeta%3Fid%3D10


而且,如果我在浏览器中打开此链接,那么它将要求用户名和密码,如果我提供了用户名和密码,那么我会得到我的实际内容。

因此,我如何每次都使用HTTPCLIENT 4.1.1进行身份验证。

最佳答案

好了,您可以按照重定向进行操作,填写字段并发布表格。它会带您前往您想去的地方。

这些字段可能是siteminder的标准USER和PASSWORD字段。您只需要确保Java代码可以正确处理重定向并维护cookie。 commons-httpclient很容易为您完成此操作。

10-06 10:41