从使用 Icefaces 基于表单的身份验证的服务器下载文件
我是 ICEfaces 的新手,我有一个要求,需要从给定的 url 下载文档 (http:// /ipaddress/formexec?objectid=201)。
此 URL 使用通过 ICEFaces 部署的基于表单的身份验证。
我跟踪了此 URL 的请求,并得到以下行:
&ice.submit.partial=false&ice.event.target=loginForm%3Aj_id33&ice.event.captured=loginForm%3Aj_id33
是否有任何库或代码可以通过成功传递用户名和密码来下载文档。
I am a newbie to ICEfaces and i have a requirement where i need to download a document from a given url (http://ipaddress/formexec?objectid=201).
This URL uses a form based authentication that is deployed through ICEFaces.
i tracked the request of this URL and i get the following line:
&ice.submit.partial=false&ice.event.target=loginForm%3Aj_id33&ice.event.captured=loginForm%3Aj_id33
Is there any libraries or code to download the document by successfully passing the username and password.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要从
Set-Cookie
响应标头中提取jsessionid
并将其作为 URL 属性附加到后续请求中,如http://example.com/path /page.jsf;jsessionid=XXX
。这是一个在“plain vanilla”的帮助下的启动示例 < code>java.net.URLConnection:
要以更少的臃肿代码实现相同的目的,请考虑 Apache Commons HttpComponents 客户端。
You need to extract the
jsessionid
from theSet-Cookie
response header and append it as URL attribute to the subsequent requests ashttp://example.com/path/page.jsf;jsessionid=XXX
.Here's a kickoff example with help of "plain vanilla"
java.net.URLConnection
:To achieve the same with less bloated code, consider Apache Commons HttpComponents Client.
基于表单的身份验证与其他请求没有太大区别。您所要做的就是向身份验证表单提交请求,提供所需的参数,例如用户和密码,以及在某些情况下您必须从源页面获取的附加令牌。然后,您需要从 auth 响应或会话 id 参数中获取 cookie,并将它们复制到下一个获取数据的请求。
Form based auth is not much different from other requests. All you have to do is to submit an a request to the auth form providing required parameters, such as user and password and in some cases additional token that you would have to get from the source page. Then you need to get cookies from the auth response or session id parameter and copy them to your next request that will fetch the data.