我客户端是JAVA写的一个办公助手,我通过客户端的向服务端发送URL返回XML流,在返回前提下要用户名和密码正确才返回XML,我现在问题是怎么通过我的客户端发送用户名和密码给服务器的WEB页面让他验证通过.(新手求救)

解决方案 »

  1.   

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.net.URLEncoder;/**
     * 向网页提交表单并返回结果网页
     */
    public class Test {
    private HttpURLConnection http = null; private URL url = null; public Test() throws Exception {
    url = new URL("http://127.0.0.1:8080/login.jsp");
    http = (HttpURLConnection) url.openConnection();
    http.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE5.5; Windows NT 5.0)");
    http.setRequestMethod("POST");
    http.setDoOutput(true);
    http.setDoInput(true); PrintWriter out = new PrintWriter(http.getOutputStream());
    // encode the message
    String name = URLEncoder.encode("myName", "GBK");
    String pass = URLEncoder.encode("myPassword", "GBK");
    out.println("name=" + name + "&pass=" + pass);
    out.close(); BufferedReader in = new BufferedReader(new InputStreamReader(http.getInputStream()));
    String line;
    while ((line = in.readLine()) != null) {
    System.out.println(line);
    }
    } public static void main(String args[]) {
    try {
    new Test();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }}
      

  2.   

    String name = URLEncoder.encode("myName", "GBK");
    String pass = URLEncoder.encode("myPassword", "GBK");你这里的name和pass是不是取表单里的?
      

  3.   

    你的Swing客户端肯定也有一个用户名、密码的输入框,name、pass就是取它们的值。
    通过HttpURLConnection就能以POST或GET方式提交到验证页面。
      

  4.   

    我运行完这段代码,返回当前登录页面,怎么不是验证成功后的页面!
    String name = URLEncoder.encode("admin", "GBK");
    String pass = URLEncoder.encode("123456", "GBK");
    这里是这样写?
      

  5.   

    还有http.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE5.5; Windows NT 5.0)");
    这句是什么意思?还望大侠指点
      

  6.   

    你改下面几行试验url = new URL("http://user.sogua.com/login_check.asp");String uname = URLEncoder.encode("name112233", "GBK");
    String passwd = URLEncoder.encode("112233", "GBK");out.println("ID=" + uname + "&PD=" + passwd + "&BackURL=http://user.sogua.com/index.asp");
    返回内容是:
    <script>location.href='http://user.sogua.com/index.asp';</script>
    说明登陆成功,把密码改成其它的再看返回什么
      

  7.   

    setRequestProperty(String key, String value)//设置一般请求属性
    //key - 用于识别请求的关键字
    //value - 与该键关联的值
      

  8.   

    为什么取的不是登录成功后那个页面的内容,而是<script>location.href='http://user.sogua.com/index.asp';</script>
    如果要取成功后的页面内容是不是要加什么东西?
      

  9.   

    <script>location.href='http://user.sogua.com/index.asp';</script>这句JavaScript就是让页面转到index.asp页面。
      

  10.   

    out.println("ID=" + uname + "&PD=" + passwd + "&BackURL=http://user.sogua.com/index.asp");
    这句话改成 out.println("ID=" + uname + "&PD=" + passwd )
    是不是也行