C#使用GET、POST请求获取结果,这里以一个简单的用户登陆为例。
2024-10-18 23:32:42
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 == "")
{
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 == "")
{
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 < ) {
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();
}
最新文章
- Eclipse开发环境JDK版本问题和校验问题
- 【转】【C#】迭代器
- 0x00linux32位汇编初入--前期准备
- Notepad++ 快捷键 大全
- GET,POST——简述
- CKEditor上传图片—配置CKFinder
- Android ----------获取各种路径(更新中。。。。。。)
- CSS 中的rem,em,vh,vw一次说清楚
- Linux程序分析工具介绍—ldd,nm
- EOS开发环境搭建
- Spring boot 源码分析(前言)
- 【解决】Server Tomcat v7.0 Server at localhost failed to start.
- Rsync未授权访问漏洞的修复
- 快速理解VirtualBox的四种网络连接方式
- 20170711 通过阿里云与国家气象局合作的api读取历史辐照数据
- Python:线程指南
- win10 docker 安装部署
- laravel 中provider的理解和使用
- 目标检测 - Tensorflow Object Detection API
- kali linux之免杀技术
热门文章
- nodejs -- fs模块 --->; readFile 函数 1) fs.readFile(filename, ";binary";, function(error, file) 2) response.write(file, ";binary";);
- Fescar Quick Start
- thinkphp获取后台所有控制器和action
- Python 实现简易 Shell
- ELF文件加载与动态链接(一)
- Python全栈之路----文件处理
- smartgit的安装
- Go Example--strings
- 使用samba或NFS实现文件共享
- 使用fpm 方便快速生成postgresql extension分发包