C#使用GET、POST请求获取结果
发布时间:2020-12-15 06:12:47 所属栏目:百科 来源:网络整理
导读:C#使用GET、POST请求获取结果,这里以一个简单的用户登陆为例。 1、 使用GET请求获取结果 1.1 创建LoginHandler.aspx处理页面 protected void Page_Load(object sender,EventArgs e) { string result = ""; string userName = Request.QueryString["UserName
C#使用GET、POST请求获取结果,这里以一个简单的用户登陆为例。 1、 使用GET请求获取结果 1.1 创建LoginHandler.aspx处理页面 protected void Page_Load(object sender,EventArgs e) { string result = ""; string userName = Request.QueryString["UserName"]; string password = Request.QueryString["Password"]; if (userName == "admin" && password == "123") { result = "登陆成功"; } else { result = "登陆失败"; } Response.Write(result); } 1.2 编写GET请求与获取结果方法 /// <summary> /// GET请求与获取结果 /// </summary> public static string HttpGet(string Url,string postDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr); request.Method = "GET"; request.ContentType = "text/html;charset=UTF-8"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream,Encoding.UTF8); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); return retString; } 1.3 调用测试 static void Main(string[] args) { string url = "http://www.mystudy.cn/LoginHandler.aspx"; string data = "UserName=admin&Password=123"; string result = HttpGet(url,data); Console.WriteLine(result); Console.ReadLine(); } 2、 使用POST请求获取结果 2.1 创建LoginHandler.aspx处理页面 protected void Page_Load(object sender,EventArgs e) { string result = ""; string userName = Request.Form["UserName"]; string password = Request.Form["Password"]; if (userName == "admin" && password == "123") { result = "登陆成功"; } else { result = "登陆失败"; } Response.Write(result); } 2.2 编写POST请求与获取结果方法 /// <summary> /// POST请求与获取结果 /// </summary> public static string HttpPost(string Url,string postDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = postDataStr.Length; StreamWriter writer = new StreamWriter(request.GetRequestStream(),Encoding.ASCII); writer.Write(postDataStr); writer.Flush(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); string encoding = response.ContentEncoding; if (encoding == null || encoding.Length < 1) { encoding = "UTF-8"; //默认编码 } StreamReader reader = new StreamReader(response.GetResponseStream(),Encoding.GetEncoding(encoding)); string retString = reader.ReadToEnd(); return retString; } 2.3 调用测试 static void Main(string[] args) { string url = "http://www.mystudy.cn/LoginHandler.aspx"; string data = "UserName=admin&Password=123"; string result = HttpPost(url,data); Console.WriteLine(result); Console.ReadLine(); } 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Caused by: org.xml.sax.SAXParseException; lineNumber: 1
- Cocos-Js项目中自己写的 HashMap
- ruby-on-rails – needle / definition-context.rb:36:警
- 自己写的React小例子
- 【Cocos2dx】资源文件夹,播放背景音乐,导入外部库
- c# – 允许多个线程访问Image
- 如何在没有内存操作的情况下在C和STL中定义2D数组?
- Ract-Native 调出dev menu的命令
- vue props传值失败 输出undefined的解决方法
- Oracle SQL:如何在具有IDENTITY列的表上使用GROUP BY子句插