知识大全 如何实现网页程序自动登录(java)

Posted

篇首语:书史足自悦,安用勤与劬。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何实现网页程序自动登录(java)相关的知识,希望对你有一定的参考价值。

  我不得不使用好几个系统 都是B/S结构的 每次登录都需要输入用户名和密码 觉得非常麻烦 考虑到其他同事也会有这样的需求 不妨就写个自动登录的程序吧 之前 也考虑过使用单点登录 几经尝试之后还是放弃了

  我习惯使用Java 本能地开始寻找Java的解决方法 在Google中输入 Java自动登录 Java网页模拟登录 Java Post 登录 结果倒是不少 内容也差不多 我尝试很多次终究也没有达到我预期的目标 后来 我都不知道这些代码应该在jsp页面中执行还是在c/s结构的程序中执行 但这些代码确实管用

  我们先分析一下代码

  <%@ pageimport= java util * %>

  <%@ pageimport= java io * %>

  <%@ pageimport= * %>

  String surl = ;

  URL url = newURL(surl)

  URLConnection conn= url openConnection()

  conn setDoOutput(true)

  OutputStreamWriterout=new OutputStreamWriter(conn getOutputStream())

  String str = username=yourname&password= ;

  out write(str)

  out flush()

  out close()

  到这里 如果在C/S结构中 且参数正确 程序能够成功登录到这个oa系统 要看到结果 你可以通过下面的代码将系统服务器返回的结果System out println()出来

  String sling = ;

  String scontent = ;

  BufferedReader in = new BufferedReader(newInputStreamReader(conn getInputStream() UTF ))

  while ((sling = in readLine())!= null)

  scontent += in + \\r\\n ;

  System out println(scontent)

  在C/S结构下 可以到得到控制台输出了返回值 从返回内容里可以看出程序已经成功登录 但要是把这个网址浏览器打开 还是得重新登录 问题没有得到根本解决 如果只是恶意注册 到这里应该就达到目的了

  看样子C/S结构下不容易实现网页程序自动登录 除非你在C/S程序中内嵌一个浏览器 直接在这个浏览器中自动访问系统 应该没有别的方法 主要问题在于我们没有办法共享Session

  为了便于共享Session 我们只能在浏览器中实现网页自动登录 通过上面的代码在jsp页面中测试 达不到预期目标

  网页自动登录 就是希望程序自动填充用户名和密码 然后以Post方式提交给登录页面的Form所指向的action页面或方法 我将系统的登录页面的源代码保存成一个网页 然后在username和password文本框中设置默认值 然后通过这网页登录系统 测试后 发现可行 接下来 你可能已经想到了解决方法

  我们可以通过url openConnection()建立连接 将返回的scontent打印出来 然后接着打印以下代码

  out println( <scripttype=\\ text/javascript\\ >\\r\\n )

  out println( document getElementsByName(\\ username\\ )[ ] value=yourname;\\r\\n )

  out println( document getElementsByName(\\ password\\ )[ ] value= ;\\r\\n )

  out println( document forms[ ] submit() \\r\\n )

  out println( </script>\\r\\n )

  原理很简单 通过login jsp将登录页面的全部源代码写在当前页面 然后使用javascript脚本将用户名和密码的值填充上 最后提交表单 这样中 终于实现了自动登录的目标 现在我通过一个特殊的网址 例如?url=fc cd bbc e f affd de e d c b f ff ec f ff d c ef c b ac 就可以自动访问这个oa了

cha138/Article/program/Java/hx/201311/26922

相关参考

知识大全 Java实现网页自动登录

Java实现网页自动登录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  我不得不使用好几个系统都

知识大全 怎样用java实现验证码

  现在许多系统的注册登录或者发布信息模块都添加的随机验证码功能就是为了避免自动注册程序或者自动发布程序的使用  验证码实际上就是随机选择一些字符以图片的形式展现在页面上如果进行提交操作的同时需要将图

知识大全 java应用程序远程登录linux并执行其命令

  在这个网址下载一个调用ssh和scp命令的jar包  然后就可以写程序了将上面的jar包导入MyEclipse下面是一个类的实例代码  packagehh;  importjavaioBuffer

知识大全 怎么样做到限时登录

  通过以下三个脚本程序调用at和系统维护功能即可实现限时登录  在指定的时间执行该脚本将在/etc下生成一名为nologin的文件登录程序在执行时会自动判断此文件是否存如果存在将不允许用户登录内容为

知识大全 我用小米账号登陆的爱奇艺。平时是自动登陆。现在输入账号的话输入哪个账号

我用小米账号登陆的爱奇艺。平时是自动登陆。现在输入账号的话输入哪个账号?你在小米自带的小米应用商店下载的东西都是小米账号自动登录的。如果在网页上或者是其他平台上下载的软件就需要另外账号登录。我登陆CS

知识大全 将 Java 应用程序迁移到 .NET(2)

将Java应用程序迁移到.NET(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  不使用自动

知识大全 用shell和java实现自动部署

  公司用到了rackspace的cloudserver做为压力测试的服务器但是一旦启动就开始收费一个小时刀因此要求用的时候打开不用的时候关掉  但是遇到一个问题就是这样的话在上边部署应用程序和软件就

知识大全 英雄联盟登录程序出现“您的电脑感染了木马,限制登录……”怎么办啊,求大神帮助

求助!英雄联盟登录程序出现“您的电脑感染了木马,限制登录……”怎么办啊,求大神帮助!重开无效重启重启无效重装然后在开游戏登录器的时候不要有其他操作英雄联盟登录程序出不来,打不开英雄联盟登录程序欢迎来到

知识大全 手机余额宝登录以后怎么自动退出

手机余额宝登录以后怎么自动退出手机支付宝客户端不支持自动退出。1、支付宝客户端退出需要人工手动操作,没有自动退出的路口2、退出的路径:打开支付宝钱包,点击左上角的头像,点击页面下方“退出登录”即可。3

知识大全 用Javascript自动输出网页文本

用Javascript自动输出网页文本  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在网页中经