一个.NET写的网站,没有用到验证码,只是单纯的登陆,普通的表单
地址是http://xxxx:**/login.aspx
点登陆后它会到login.aspx.cs去验证
成功到index.aspx,否则到login.aspx
这个时候我去模拟登陆
url=http://xxxx:**/login.aspxHttpClient http = new HttpClient();
PostMethod pm = new PostMethod(url);
NameValuePair[] data = { new NameValuePair("username", userName),
new NameValuePair("password", passWord) };
pm.setRequestBody(data);

int resultState = http.executeMethod(pm);不管啥得到的结果我把body打印出来都是login.aspx的html

解决方案 »

  1.   

    那就是登陆不成功呗,肯定少了一些登陆条件,比如原本登陆页面的hidden,cookie等。
      

  2.   

    搞个firebug监控下登陆请求所需的信息。
      

  3.   

    用httpWatch监视下,看是否有头信息没设置
      

  4.   

    打印下respone的头  看看是不是200 估计是请求失败  看下还需要传什么参数
      

  5.   

    我监视过,全部是login.aspx这个页面
      

  6.   

    是200,我把html都打印出来了...是登陆界面的html
      

  7.   

    没有什么加密,我自己写的一个登陆,然后我只是想用JAVA去模拟它,结果我直接请求login.aspx用对的帐号密码返回给我还是一个login.aspx的html