C#、Asp.net 使用 WebClient Get Post(同步、异步)
来源:互联网 发布:人体模型软件 编辑:程序博客网 时间:2024/06/06 00:47
一、C#、Asp.net 下使用WebClient Get Post 同步 异步请求,直接贴代码
1、通用Http类
using System;using System.Globalization;using System.Net;using System.Text;namespace Test{ public class HttpCommon { /// <summary> /// Http同步Get同步请求 /// </summary> /// <param name="url">Url地址</param> /// <param name="encode">编码(默认UTF8)</param> /// <returns></returns> public static string HttpGet(string url, Encoding encode = null) { string result; try { var webClient = new WebClient { Encoding = Encoding.UTF8 }; if (encode != null) webClient.Encoding = encode; result = webClient.DownloadString(url); } catch (Exception ex) { result = ex.Message; } return result; } /// <summary> /// Http同步Get异步请求 /// </summary> /// <param name="url">Url地址</param> /// <param name="callBackDownStringCompleted">回调事件</param> /// <param name="encode">编码(默认UTF8)</param> public static void HttpGetAsync(string url, DownloadStringCompletedEventHandler callBackDownStringCompleted = null, Encoding encode = null) { var webClient = new WebClient { Encoding = Encoding.UTF8 }; if (encode != null) webClient.Encoding = encode; if (callBackDownStringCompleted != null) webClient.DownloadStringCompleted += callBackDownStringCompleted; webClient.DownloadStringAsync(new Uri(url)); } /// <summary> /// Http同步Post同步请求 /// </summary> /// <param name="url">Url地址</param> /// <param name="postStr">请求Url数据</param> /// <param name="encode">编码(默认UTF8)</param> /// <returns></returns> public static string HttpPost(string url, string postStr = "", Encoding encode = null) { string result; try { var webClient = new WebClient { Encoding = Encoding.UTF8 }; if (encode != null) webClient.Encoding = encode; var sendData = Encoding.GetEncoding("GB2312").GetBytes(postStr); webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); webClient.Headers.Add("ContentLength", sendData.Length.ToString(CultureInfo.InvariantCulture)); var readData = webClient.UploadData(url, "POST", sendData); result = Encoding.GetEncoding("GB2312").GetString(readData); } catch (Exception ex) { result = ex.Message; } return result; } /// <summary> /// Http同步Post异步请求 /// </summary> /// <param name="url">Url地址</param> /// <param name="postStr">请求Url数据</param> /// <param name="callBackUploadDataCompleted">回调事件</param> /// <param name="encode"></param> public static void HttpPostAsync(string url, string postStr = "", UploadDataCompletedEventHandler callBackUploadDataCompleted = null, Encoding encode = null) { var webClient = new WebClient { Encoding = Encoding.UTF8 }; if (encode != null) webClient.Encoding = encode; var sendData = Encoding.GetEncoding("GB2312").GetBytes(postStr); webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); webClient.Headers.Add("ContentLength", sendData.Length.ToString(CultureInfo.InvariantCulture)); if (callBackUploadDataCompleted != null) webClient.UploadDataCompleted += callBackUploadDataCompleted; webClient.UploadDataAsync(new Uri(url), "POST", sendData); } }}
2、页面请求类
using System;using System.Net;using System.Text;using System.Web.UI;namespace Test{ public partial class WebForm3 : Page { protected void Page_Load(object sender, EventArgs e) { Response.Write(HttpCommon.HttpGet("http://localhost:14954/WebForm4.aspx")); //Get同步 HttpCommon.HttpGetAsync("http://localhost:14954/WebForm4.aspx"); //Get异步 HttpCommon.HttpGetAsync("http://localhost:14954/WebForm4.aspx", DownStringCompleted); //Get异步回调 Response.Write(HttpCommon.HttpPost("http://localhost:14954/WebForm4.aspx", "post=POST")); //Post同步 HttpCommon.HttpPostAsync("http://localhost:14954/WebForm4.aspx", "post=POST"); //Post异步 HttpCommon.HttpPostAsync("http://localhost:14954/WebForm4.aspx", "post=POST", UploadDataCompleted); //Post异步回调 } private void DownStringCompleted(object sender, DownloadStringCompletedEventArgs e) { Response.Write(e.Result); } private void UploadDataCompleted(object sender, UploadDataCompletedEventArgs e) { Response.Write(Encoding.GetEncoding("GB2312").GetString(e.Result)); } }}
0 0
- C#、Asp.net 使用 WebClient Get Post(同步、异步)
- get post 同步 异步
- asp.net 自定义 Http Post,Get,WebClient ,TcpClient 请求url地址
- UI 网络请求(同步GET,同步POST,异步GET,异步POST)具体操作
- 网络请求 同步get 同步post 异步get 异步post
- OC-NSURLConnection-同步get、异步get、同步post、异步post
- ios 同步,异步,get,post
- Okhttp2同步,异步 get,post
- asp.net Get和Post的使用
- WebClient Post 和 Get
- Objective-c语言_计算机网络(UI)同步get,post和异步get,post
- Objective-c语言_计算机网络(UI)同步get,post和异步get,post
- OkHttp的使用--GET/POST(异步)
- iphone网络编程(同步/异步,get/post)
- 原生JavaScript实现Ajax(二):同步,异步,GET,POST
- ASP.NET(get和post比较)
- iOS 网络编程(HTTP 同步GET请求,同步POST请求,异步GET请求,异步POST请求)
- iOS 网络编程(HTTP 同步GET请求,同步POST请求,异步GET请求,异步POST请求)
- Java注释分类
- 超正点的音乐播放器
- apache日志LogFormat参数说明
- sort函数的使用
- cocos2dx 内存优化
- C#、Asp.net 使用 WebClient Get Post(同步、异步)
- Codeforces Round #257 (Div. 2) B. Jzzhu and Sequences
- CentOS 5.5 vimtutor 乱码的问题
- do while 循环和while循环的区别
- 的燃烧热温热我让他
- 7.19_java学习_多态
- 算法竞赛入门经典(第一版)第三章习题
- Android L 新增控件:RecyclerView
- VIM配置详解