C#使用GET、POST请求获取结果
来源:互联网 发布:全29青峰剃刀数据 编辑:程序博客网 时间:2024/05/21 17:19
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请求与获取结果方法
-
-
-
- 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请求与获取结果方法
-
-
-
- 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();
- }
============================================
private void button1_Click(object sender, EventArgs e)
{
HttpWebRequest _httpWebRequest= (HttpWebRequest)WebRequest.Create(@"http://cloud.bmob.cn/0906a62b462a3082/getMemberBySex");
_httpWebRequest.Method = "POST";
_httpWebRequest.ContentType = "application/x-www-form-urlencoded";
string _strContent="sex=boy";
byte[] _byArr = Encoding.UTF8.GetBytes(_strContent);
//_httpWebRequest.ContentLength = _byArr.Length;
StreamWriter _streamWriter = new StreamWriter(_httpWebRequest.GetRequestStream(),Encoding.UTF8);
_streamWriter.Write(_byArr);
_streamWriter.Flush();
HttpWebResponse _httpWebResponse= (HttpWebResponse)_httpWebRequest.GetResponse();
string _strEncoding= _httpWebResponse.ContentEncoding;
if (_strEncoding == null || _strEncoding.Length < 1)
{
_strEncoding = "UTF-8";
}
StreamReader _streamReader = new StreamReader(_httpWebResponse.GetResponseStream(),Encoding.GetEncoding(_strEncoding));
string _strText= _streamReader.ReadToEnd();
textBox1.Text = _strText;
}
0 0