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

如题,首先我写了一个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满足需求

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

时间: 2024-08-06 18:22:34

c#控制台实现post网站登录的相关文章

cookielib和urllib2模块相结合模拟网站登录

1.cookielib模块 cookielib模块的主要作用是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问Internet资源.例如可以利用 本模块的CookieJar类的对象来捕获cookie并在后续连接请求时重新发送.coiokielib模块用到的对象主要有下面几 个:CookieJar.FileCookieJar.MozillaCookieJar.LWPCookieJar.其中他们的关系如下: 2.urllib2模块 说到urllib2模块最强大的部分绝对是它的o

NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证

JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器.每一种解析器都是一个运行环境,不但允许JS定义各种数据结构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs.http等内置对象.E

discuz论坛与其它网站登录注册整合

本文以discuz 7.0.0 php版本的论坛与 .net 2.0的网站注册登录整合为类.没有采用uc_center或第三方插件.以另类的方式实现.此方法实现的好处是不用过多了解论坛本身的实现细节,借助论坛自己的登录,注册页面来完成,我们只是获到参数post到这个页面来实现注册及登录过程,修改密码也可以用这个方式,但考虑到修改相对简单,就用直接修改数据库的方式实现. 一.论坛修改的地方 1. 论坛入口修改 a. templates/default/header.htm 修改注册和登录入口到网站

Servlet学习(三)Servlet编程实例-网站登录(修改版-增加数据库-附源码)

我们为刚才的那个示例Servlet学习(二)Servlet编程实例-网站登录添加上数据库,组成一个较为完整的登录功能. 在开始之前我们得首先了解下一些常用的java术语: PO(persistant object) 持久对象 在o/r 映射的时候出现的概念,如果没有o/r映射,就没有这个概念存在了. 通常对应数据模型(数据库),本身还有部分业务逻辑的处理. 可以看成是与数据库中的表相映射的java对象. 最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合. PO中应该不包含

01-19asp.net基础--网站登录及验证

第一步: 1)首先使用“CodeSmith”将Examinee类实体化,并生成实体类连接数据库的方法,存在解决方案下的“App_Code”文件夹下. 修改一下连接某个数据库: private SqlConnection _Conn; public DBConnection() { String connectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["conn"].ToS

HttpClient 4.x 执行网站登录并抓取网页的代码

HttpClient 4.x 的 API 变化还是很大,这段代码可用来执行登录过程,并抓取网页. HttpClient API 文档(4.0.x), HttpCore API 文档(4.1) package spider; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.

HttpWebRequest模拟c#网站登录

模拟登录asp.net开发的网站.POST数据相对来说比较简单.如何触发事件?一个页面可能有多个post按钮,如修改.删除,按钮,页面提交后,会进入对应的事件中.通过什么机制触发事件一直没有找到满意的答案. 之前在博问中寻求过帮助,也许是没有彻底理解热心园友的回复,问题一直没有解决,但依然感谢走过.路过的朋友. 博问链接:1.c#模拟网页登陆   2. HttpWebRequest 模拟登录 知道看到了这篇博文才实现了c#网站的登录. 对于asp.net开发的网站,需要将__VIEWSTATE和

网站登录 个人信息存储 方案

前情记录: 这是关于前一段时间工作中网站的登陆信息的小总结,以前也没有想到要写这个随笔,是因为一个同事的一句话给了我很大的感触,所以就决定要总结一下. 去年半年时间再做一个后台管理程序(ERP)网站的登陆.权限等方面我负责,实现了登陆.权限.缓存丢失但不超时自动重新登录.异地登陆登出等功能,还做了一个微信.一个官网的全部内容(这里主要谈登陆.个人信息的存储). 但是自己没有意识到自己用的什么方式,在和同事聊模式的时候他说:erp中就是缓存+数据库的方式实现的.正所谓一举惊醒梦中人,听君一席话胜读

搭建开发框架Express,实现Web网站登录验证

JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里 的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器.每一种解析器都是一个运行环境,不但允许JS定义各种数据结 构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情.例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了 document之类的内置对象.而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs.http等内 置