因为我正在处理调用 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 可以很容易地为您完成这项工作。
关于java - 使用 Java 登录 SiteMinder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6541049/