找了好多例子,也没真正解决的!以下是一个模拟登录的小例子,现在可以响应,但是在哪儿如何判断响应的正确与否呀?还有当响应正确时,说明能正常登录了,这时要如何将页面导航到访问的主页中?
请大家多多给出提示,最好有执行过的代码供小弟参考一下,感激不尽呀HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://tserver:109/default.asp");
HttpWebResponse res = null;
//构造要post的数据
ASCIIEncoding encoding=new ASCIIEncoding();
string postdata=" sUserNameEn='"+ login_name.Text +"' and sPassWord='"+ passwd.Text +"' ";
byte[] byte1=encoding.GetBytes(postdata);
//Post
req.Method = "POST";
req.ContentType="application/x-www-form-urlencoded";
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)";
req.ContentLength=postdata.Length;
req.AllowAutoRedirect = true;
req.KeepAlive = true;
Stream s=req.GetRequestStream();
s.Write(byte1,0,byte1.Length);
s.Close();
//获取响应
HttpWebResponse rp= (HttpWebResponse)req.GetResponse();try
{
if(rp.StatusCode == HttpStatusCode.OK)
{
Stream rps= rp.GetResponseStream();
StreamReader sr= new StreamReader(rps);
//获得响应字符串
string result = sr.ReadToEnd();
rp.Close();
}
}

解决方案 »

  1.   

    先自己在网页上登陆一次然后找出登陆成功和登陆不成功的关键字
    然后string result = sr.ReadToEnd();if(result.indexOf("xxx")>=0)
      登陆成功
    else
      登陆失败
    这时要如何将页面导航到访问的主页中? 这个不是很明白你说什么
    但是如果登陆后一定要保存cookie,否则下次访问的时候又要提示你登陆的了CookieContainer myCookie=new CookieContainer();
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://tserver:109/default.asp");
    req.CookieContainer = myCookie;....
    HttpWebResponse rp= (HttpWebResponse)req.GetResponse();
    myCookie.Add(new Uri("http://" + (new Uri(m_url)).Host), rp.Cookies);
      

  2.   

    Response.Redirect();
    转移到页面
      

  3.   

    TO:dcboy(dcb0y) 
    找出登陆成功和登陆不成功的关键字 
    这句话是什么意思呀?是指成功或不成功时的提示吗?这时要如何将页面导航到访问的主页中?
    意思就是登录后如何跳转到首页呀?
      

  4.   

    现在知道如何做了,可是为什么每次读出来的都是同一个页面呀,不管输入的是正确的用户名密码还是错误的用户名密码!? HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://tserver:109/login.asp");
    //构造要post的数据
    ASCIIEncoding encoding=new ASCIIEncoding();
    string postdata=" sUserNameEn='"+ login_name.Text +"' and sPassWord='"+ passwd.Text +"' ";
    byte[] byte1=encoding.GetBytes(postdata);
    //Post
    req.Method = "POST";
    req.ContentType="application/x-www-form-urlencoded";
    req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)";
    req.ContentLength=postdata.Length;
    req.AllowAutoRedirect = true;
    req.KeepAlive = true;
    Stream s=req.GetRequestStream();
    s.Write(byte1,0,byte1.Length);
    s.Close();
    //获取响应
    HttpWebResponse rp= (HttpWebResponse)req.GetResponse();if(rp.StatusCode == HttpStatusCode.OK)
    {
    Stream rps= rp.GetResponseStream();
    StreamReader sr= new StreamReader(rps,System.Text.Encoding.Default);
    //获得响应字符串
    string result = sr.ReadToEnd();

    if(result.IndexOf("用户名密码错误") != 0)
    {
    Frm_index index = new Frm_index();
    index.Show();
    }
    sr.Close();
    rps.Close();
    rp.Close();
    }