我的程序需要能够自动提交用户名和密码来登陆论坛然后下载论坛上的信息.不知道怎么用java实现自动登陆论坛.在这里求教各位了!谢谢!

解决方案 »

  1.   

    搜索一下,网上好象有个自动登陆的代码,vb的,
    大概步骤就是先get登陆页面,得到一个sessionid,然后post用户名和密码还有可能那个网站附加的参数,然后再get你到的地址就可以了
    get,post的地址还有参数名只类的要你自己用数据包截取工具到你要用的那个网站去自己试验.
    用java大概也是这个方法,就是模拟post数据,我这有个以前写的,可能不能运行了,写了太久了,不记得当初怎么用的了,不过大体的方法就是这样,我下面都是乱弄的不是完整类,你自己再研究下吧 static URLConnection connection;
    static String session;
    public static void setSession(){
    connection.setRequestProperty("Cookie", session);
    }
     public static String sendPost(String url,String param)
     {
      String result="";
      try{
       URL httpurl = new URL(url);
       HttpURLConnection httpConn = (HttpURLConnection)httpurl.openConnection();     
       httpConn.setDoOutput(true);
       httpConn.setDoInput(true);
       httpConn.setRequestProperty("Cookie", session);
       PrintWriter out = new PrintWriter(httpConn.getOutputStream());
       out.print(param);
       out.flush();
       out.close();
       BufferedReader in = new BufferedReader(new InputStreamReader(httpConn.getInputStream()));
       String line;
       while ((line = in.readLine())!= null)
       {
        result += line; 
       }
       in.close();
      }catch(Exception e){
       System.out.println("没有结果!"+e.getMessage());
      }
      return result;
     }
      

  2.   

    分析人家的代码,看看是通过什么提交的?
    login.jsp?username=prettywolf&password=hello,然后判断返回内容是否登陆成功了。再进行操作。
      

  3.   

    怎么个自动提交法?数据是用cookie保存的么?