模拟Post请求
2015-08-31 17:26
239 查看
此文摘自csdn青山的博客地址:http://blog.csdn.net/a497785609/article/details/6437154
本人随笔只为方便自己查阅,也为广大网友提供方便,不喜勿喷!
接收数据方法,
本人随笔只为方便自己查阅,也为广大网友提供方便,不喜勿喷!
#region 向Url发送post请求 /// <summary> /// 向Url发送post请求 /// </summary> /// <param name="postData">发送数据</param> /// <param name="uriStr">接受数据的Url</param> /// <returns>返回网站响应请求的回复</returns> public static string RequestPost(string postData, string uriStr) { HttpWebRequest requestScore = (HttpWebRequest)WebRequest.Create(uriStr); ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(postData); requestScore.Method = "Post"; requestScore.ContentType = "application/x-www-form-urlencoded"; requestScore.ContentLength = data.Length; requestScore.KeepAlive = true; Stream stream = requestScore.GetRequestStream(); stream.Write(data, 0, data.Length); stream.Close(); HttpWebResponse responseSorce; try { responseSorce = (HttpWebResponse)requestScore.GetResponse(); } catch (WebException ex) { responseSorce = (HttpWebResponse)ex.Response;//得到请求网站的详细错误提示 } StreamReader reader = new StreamReader(responseSorce.GetResponseStream(), Encoding.UTF8); string content = reader.ReadToEnd(); requestScore.Abort(); responseSorce.Close(); responseSorce.Close(); reader.Dispose(); stream.Dispose(); return content; } #endregion
接收数据方法,
/// <summary> /// 得到程序post过来的数据 /// </summary> /// <returns></returns> private string GetPostContent() { string postStr = string.Empty; Stream inputStream = Request.InputStream; int contentLength = Request.ContentLength; int offset = 0; if (contentLength > 0) { byte[] buffer = new byte[contentLength]; for (int i = inputStream.Read(buffer, offset, contentLength - offset); i > 0; i = inputStream.Read(buffer, offset, contentLength - offset)) { offset += i; } UTF8Encoding encoding = new UTF8Encoding(); postStr = encoding.GetString(buffer); } return postStr; }
相关文章推荐
- 【EasyUI】Combobox的联动和onChange/onSelect事件绑定
- Goods:动态加载所有的分类项到left.jsp
- setTimeout的用法及注意点
- iOS 官方文档翻译地址已经迁移到github上了
- Android利用Json来进行网络数据传输
- 黑马训练营java学习笔记:数组
- Unity学习笔记(六)---------------GameObject的Active与InActive
- confirm在连接中点击取消依然退出
- 第四坑
- Android最佳性能实践(三)——高性能编码优化
- UnityVS(Visual Studio Tools For Unity)的安装与使用
- 百度地图 v3.5搜索功能,和地图缩放按钮更改样式
- css3中创建动画的三种方式详解
- Win10 通过升级安装完成后出现了中文字体忽大忽小的问题解决。
- C# fixed语句固定变量详解
- 你应该知道的CSS文字大小单位PX、EM、PT
- ThreadLocal
- MyEclipse报错org.apache.jasper.JasperException: Unable to compile class for JSP:
- vs2012 error LNK2038 RuntimeLibrary 不匹配的解决
- 配置NTP,同步服务器时间