基于Java Web的防火墙认证

基于Java Web的防火墙认证,java,post,firewall,Java,Post,Firewall,每天,我都要通过基于web的身份验证系统(防火墙),其工作原理如下: 一旦我连接到网络并键入任何网址(如www.google.com),我就会看到一个基于网络的登录表单(键入任何地址都会显示相同的表单) 提交后,我从路由器获得一个经过身份验证的响应页面,地址为: 192.168.2.254:1000/keepalive?某些jibberjabbernumberwhichchangeseverytime 页面必须在200秒后刷新,否则您将注销。这是自动完成的,但有时会失败 之后,互联网被启用,人们

每天,我都要通过基于web的身份验证系统(防火墙),其工作原理如下: 一旦我连接到网络并键入任何网址(如
www.google.com
),我就会看到一个基于网络的登录表单(键入任何地址都会显示相同的表单) 提交后,我从路由器获得一个经过身份验证的响应页面,地址为:
192.168.2.254:1000/keepalive?某些jibberjabbernumberwhichchangeseverytime

页面必须在200秒后刷新,否则您将注销。这是自动完成的,但有时会失败

之后,互联网被启用,人们可以浏览。我想制作一个简单的应用程序(java),为我完成这项无聊的任务。 它会将我的凭据发送到服务器。让我登录。自动在30秒后发送刷新命令

对于如何做到这一点,有什么建议吗?我需要创建一个独立的桌面应用程序,而不是服务器端应用程序

谢谢

那么基本上,您想在应用程序中“玩浏览器”吗?像这样的Web测试库非常适合此类任务。基本上,这就是你要做的:

  • 查询某个页面(GetMethodWebRequest),期望被重定向
  • 检查您是否被重定向
  • 提取表单(response.getFormWithID),填写您的凭据,然后提交
  • 最可能棘手的部分是:获取弹出窗口URL
  • 定期轮询提取的URL

看看httpunit的食谱和教程,我猜你会在那里找到解决问题所需的所有信息。

一个便宜的方法是使用浏览器插件,每N秒刷新一次页面。您仍然需要输入您的凭据…这似乎是一个坏主意,防火墙的想法是阻止来自脚本和人员的未经授权的访问。另外,这听起来像是在工作地点,这样的登录可能会监控你的互联网使用情况,让脚本帮你做可能会导致注销/登录的问题,这意味着你在线登录的时间过长。@Sean Kenny经过3天的头脑风暴,我的应用程序准备就绪!快乐冲浪!我面临以下问题我正在试用httpunit来完成这项工作。面对以下问题,每次输入TYPE=“hidden”NAME=“magic”VALUE=“061fd1c034ef429a”时,除了用户/pass之外,表单some number中存在一些隐藏值。你能给我提供一个代码,解析页面,找到魔术号码,然后提交用户/通行证/魔术号码。非常感谢thanxxurladdr=response.getLastHeader(“位置”).getValue()无法获取web地址,因为地址类似于192.168。。。但是如果我试着用wid wesite的名字,它会起作用的!我使用这个html单元需要一个表单名,但我的页面没有