C#使用GET、POST请求获取结果
更新时间:2017年01月03日 14:22:26 作者:傲语平生
这篇文章主要以一个简单的用户登陆为例,详细介绍了C#使用GET、POST请求获取结果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
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();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
C# Distinct和重写IEqualityComparer时要知道的二三事
这篇文章主要给大家介绍了关于C# Distinct和重写IEqualityComparer时要知道的二三事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧2019-06-06
C# WinForm 判断程序是否已经在运行,且只允许运行一个实例,附源码
本文主要介绍WinFrom程序中只允许运行一个实例的方法,并有完整的代码示例,希望能给需要的朋友一些帮助。2016-04-04
.Net多进程通信共享内存映射文件Memory Mapped
这篇文章主要介绍了.Net多进程通信共享内存映射文件Memory Mapped的使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-04-04
WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析
这篇文章主要介绍了WinForm中KeyDown,KeyPress和KeyUp的顺序与区别解析,对C#初学者来说很有学习借鉴价值,需要的朋友可以参考下2014-08-08


最新评论