找了好多例子,也没真正解决的!以下是一个模拟登录的小例子,现在可以响应,但是在哪儿如何判断响应的正确与否呀?还有当响应正确时,说明能正常登录了,这时要如何将页面导航到访问的主页中?
请大家多多给出提示,最好有执行过的代码供小弟参考一下,感激不尽呀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();
}
}
请大家多多给出提示,最好有执行过的代码供小弟参考一下,感激不尽呀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();
}
}
解决方案 »
- 我的mdi窗口BackgroundImage尺寸有问题
- 请教:c# winform程序少量数据的存储,使用文件存储还是access数据库?
- 对于注册表只有读的权限而没有写的权限,当写入时如何保护?
- 引用型数值的疑问
- 第一個可能發生的例外狀況類型 'System.InvalidOperationException' 發生於 System.ServiceProcess.dll
- 請問各位大蝦!誰知道哪裡有c#控件的講座,包涵實例的!謝謝!
- 输入字符串的格式不正确
- 求 PROGRAMMING C# 中文版(刘基诚)电子书!!!或者英文版也行。谢了!!
- 散分!贼简单问题:数据邦定
- Winform下类中的string属性在VS属性栏的值输入框问题
- 如何判断axwebbrowser中的一段脚本已经执行完毕
- ExtFloodFill(hdc0, x, y, color.ToArgb(),FLOODFILLSURFACE=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);
转移到页面
找出登陆成功和登陆不成功的关键字
这句话是什么意思呀?是指成功或不成功时的提示吗?这时要如何将页面导航到访问的主页中?
意思就是登录后如何跳转到首页呀?
//构造要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();
}