码迷,mamicode.com
首页 > Windows程序 > 详细

c#控制台实现post网站登录

时间:2017-04-05 23:57:56      阅读:595      评论:0      收藏:0      [点我收藏+]

标签:encode   str   ring   模拟   arp   ssr   sre   网络   sts   

如题,首先我写了一个web页面来实现post登陆,只做演示,代码如下

 public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string name = context.Request.Params["username"];
            
            if (name == "1")
            {
                context.Response.Write("ok");
            }
            else
            {
                context.Response.Write("no");
            }
       
        }

只要name是1就ok否则no

简洁说下Get和post  get通过在网络地址中附加参数来完成数据的提交,可以在url地址中看到,而post则是在页面内容中填写参数来完成提交  F12看一下就是username=1&userpwd=1这种格式的, POST 中文数据的时候,先中文字符转换为编码后的 ASCII 码,然后提交到服务器,提交的时候可以说明编码的方式,用来使对方服务器能够正确的解析。

然后控制台模拟一下  HttpWebRequest  HttpWenResponse

HttpWebRequest类主要利用Http协议来和服务器交互,在Method中指定提交方式,GET或者POST

代码如下

 static void Main(string[] args)
        {
            string name = "1";
            string postdata = "username=" + name;
            byte[] data = Encoding.UTF8.GetBytes(postdata);
            HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create("http://localhost:8022/login.ashx");
            webrequest.Method = "POST";
            webrequest.ContentType = "application/x-www-form-urlencoded";
            webrequest.ContentLength = data.Length;
            Stream stream = webrequest.GetRequestStream();
            stream.Write(data, 0, data.Length);
            stream.Close();
            HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();
            StreamReader sr = new StreamReader(webresponse.GetResponseStream(), Encoding.UTF8);
            string s = sr.ReadToEnd();
            Console.WriteLine(s);
        }

  结果自然ok  当把name改为2结果为no满足需求

当然这只是一个很简单的模拟,也就是试验一下

c#控制台实现post网站登录

标签:encode   str   ring   模拟   arp   ssr   sre   网络   sts   

原文地址:http://www.cnblogs.com/ZyCoder/p/6670907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!