Java传入用户名和密码并自动提交表单实现登录到其他系统的实例代码

发布时间 - 2026-01-10 22:46:56    点击率:

不用单点登录,模拟远程项目的登录页面表单,在访问这个页面的时候自动提交表单到此项目的登录action,就可以实现登录到其他系统。

ssh框架项目

1.以下是本地系统的action代码:

import java.io.IOException;
import java.util.List;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
public class myLoginAction {
  /**
   * 查询是否用户已注册
   * @return
   * @throws Exception 
   */
  public void checkUser() throws Exception{
    Loginer loginer = (Loginer) request.getSession()
    .getAttribute("loginer");
    String url = "http://www.youtest.com/login.php"; //远程系统登录action地址
    String param = "username=Tom&password=123456"; //参数
    String temp = "alert('用户名或密码错误');";  //返回的信息,此处是错误信息,用于比较。  视情况而定
    boolean result =false ;
    //验证数据是否能登录
    result = sendPost(url, param, temp);
    if(result){
      return "login";
    }else{
      return "register";
    }
    }
  //访问远程登录action并获取返回的信息
  public static boolean sendPost(String url, String param, String temp) {
      PrintWriter out = null;
      BufferedReader in = null;
      boolean result = true;
      try {
        URL realUrl = new URL(url);
          // 打开和URL之间的连接
          URLConnection conn = realUrl.openConnection();
          // 设置通用的请求属性
          conn.setRequestProperty("accept", "*/*");
          conn.setRequestProperty("connection", "Keep-Alive");
          conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
          // 发送POST请求必须设置如下两行
          conn.setDoOutput(true);
          conn.setDoInput(true);
          // 获取URLConnection对象对应的输出流
          out = new PrintWriter(conn.getOutputStream());
          // 发送请求参数
          out.print(param);
          // flush输出流的缓冲
          out.flush();
          // 定义BufferedReader输入流来读取URL的响应
          in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
          String line;
          while ((line = in.readLine()) != null) {
            if(temp.equals((line.trim()))) {
              System.out.println("错误的line:"+line);
              result = false;
            }
          }
      } catch (Exception e) {
        result = false;
        logger.error("发送 POST 请求出现异常!"+e);
          System.out.println("发送 POST 请求出现异常!"+e);
          e.printStackTrace();
      }finally{
          try{
            if(out!=null){
                out.close();
            }
            if(in!=null){
                in.close();
            }
          }catch(IOException ex){
            logger.error(ex);
            ex.printStackTrace();
          }
      }
      return result;
    } 
}

2.模拟的登录页面:

<html>
<head></head>
<body>
    <script type="text/javascript">
     var iframe = document.createElement("iframe");
     iframe.src = "http://www.youtest.com/login.php?UNAME=<%=userName%>&UPWD=<%=pwd%>";
     iframe.style.display="none";
     
     var sta="false;"
     if (iframe.attachEvent){
       iframe.attachEvent("onload", function(){
         window.location.href="http://www.youtest.com/index.html";
       });
     } else {
       iframe.onload = function(){
         window.location.href="http://www.youtest.com/index.html";
       };
     }
     document.body.appendChild(iframe);
 </script>
  </body>
</html>

以上所述是小编给大家介绍的Java传入用户名和密码并自动提交表单实现登录到其他系统,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# java  # 提交表单实现登录系统  # 用户名和密码  # Java判断用户名和密码是否符合要求过程详解  # Java使用正则表达式验证用户名和密码的方法  # Java+Ajax实现的用户名重复检验功能实例详解  # JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)  # java客户端登陆服务器用户名验证  # java用户名密码验证示例代码分享  # JavaWeb实现注册用户名检测  # 表单  # 单点  # 小编  # 在此  # 给大家  # 此项  # 而定  # 错误信息  # 所述  # 是否能  # 给我留言  # 两行  # 感谢大家  # 就可以  # 疑问请  # 有任何  # 远程登录  # username  # php  # param 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  详解Oracle修改字段类型方法总结  如何用5美元大硬盘VPS安全高效搭建个人网站?  简单实现Android验证码  网站制作软件有哪些,制图软件有哪些?  Swift中switch语句区间和元组模式匹配  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何在阿里云域名上完成建站全流程?  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  ,在苏州找工作,上哪个网站比较好?  如何用wdcp快速搭建高效网站?  JS碰撞运动实现方法详解  简单实现Android文件上传  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  如何在自有机房高效搭建专业网站?  网站制作壁纸教程视频,电脑壁纸网站?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel如何实现API版本控制_Laravel版本化API设计方案  如何用虚拟主机快速搭建网站?详细步骤解析  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  Laravel Session怎么存储_Laravel Session驱动配置详解  Python文件异常处理策略_健壮性说明【指导】  Windows Hello人脸识别突然无法使用  linux写shell需要注意的问题(必看)  Laravel怎么上传文件_Laravel图片上传及存储配置  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  浅谈redis在项目中的应用  如何快速生成专业多端适配建站电话?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Laravel如何使用Service Container和依赖注入?(代码示例)  如何在腾讯云免费申请建站?  高端建站三要素:定制模板、企业官网与响应式设计优化  网站制作免费,什么网站能看正片电影?  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  如何构建满足综合性能需求的优质建站方案?  怎样使用JSON进行数据交换_它有什么限制  Laravel如何实现事件和监听器?(Event & Listener实战)  如何在万网自助建站中设置域名及备案?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何在IIS中新建站点并配置端口与物理路径?  Laravel Docker环境搭建教程_Laravel Sail使用指南  Android滚轮选择时间控件使用详解  android nfc常用标签读取总结  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  如何将凡科建站内容保存为本地文件?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略