用c#的winform实现登录功能,要求用到http和post,请求一个服务器,并能判断成功登录就
用c#的winform实现登录功能,要求用到http和post,请求一个服务器,并能判断成功登录就行...
用c#的winform实现登录功能,要求用到http和post,请求一个服务器,并能判断成功登录就行
展开
展开全部
下面这个是我自己写的,可以正确登录和运行我自己的页面。里面的参数是用Filddler(自己下载来研究一下)探查到的。
static void GetWebWithCookie()
{
//登录页面地址
含纳 string url = "http://马赛克.com/";
HttpWebRequest requestPost = WebRequest.Create(url) as HttpWebRequest;
requestPost.CookieContainer = new CookieContainer();
requestPost.Method = "POST";
//下面有些参数用不用都可以,根据自己的来
//requestPost.KeepAlive = true;
//requestPost.UserAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36";
requestPost.ContentType = "application/x-www-form-urlencoded";
侍余 //探测到的字符串,用户名和密码在里面,自己拼凑
string postString =
"uid=马赛克&password=马赛克&rememberInput=remember&redirect=&redirectTime=5&target=&smagentname=&smquerydata=&smauthreason=&postpreservationdata=";
谈谈没 byte[] postData = Encoding.ASCII.GetBytes(postString);
requestPost.ContentLength = postData.Length;
Stream postStream = requestPost.GetRequestStream();
postStream.Write(postData, 0, postData.Length);
postStream.Close();
HttpWebResponse responsePost = requestPost.GetResponse() as HttpWebResponse;
//使用登录后得到的cookie
requestPost.CookieContainer.Add(responsePost.Cookies);
string url1 = "http://马赛克/MyProcessList/Approved";
HttpWebRequest requestGet = WebRequest.Create(url1) as HttpWebRequest;
requestGet.CookieContainer = requestPost.CookieContainer;
HttpWebResponse responseGet = requestGet.GetResponse() as HttpWebResponse;
Stream responseGetStream = responseGet.GetResponseStream();
StreamReader readerGet = new StreamReader(responseGetStream, Encoding.UTF8);
string srcString1 = readerGet.ReadToEnd();
//要提取什么自己写正则
foreach (string s in Extract(srcString1, @"\d{5} - (.+?)<"))
{
Console.WriteLine(s);
}
Console.WriteLine("------");
}
static string GetContent(string url)
{
WebClient cl = new WebClient();
return cl.DownloadString(url);
}
static string[] Extract(string all, string reg)
{
return Regex.Matches(all, reg).OfType<Match>()
.Select(x => x.Groups[1].Value).ToArray();
}
展开全部
web服务器,form客户端,通过http协议通信,其实并不难
追问
不要数据库,服务器已经做好,只要客户端,客户端通过http的post发送帐号,密码,服务器返回ok,客户端判断一下就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更多追问追答
追问
我才学习c#不到两天 ,目前不要数据库,服务器已经做好,只要客户端,客户端通过http的post发送帐号,密码,服务器判断对的话返回ok,客户端判断一下就行了
追答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询