c#POST请求和接收post请求
来源:互联网 发布:少儿趣味编程学些什么 编辑:程序博客网 时间:2024/06/05 10:05
c# post请求发送数据
/// <summary> /// POST请求 /// </summary> /// <param name="url">请求地址</param> /// <param name="val">请求值</param> /// <param name="encoding">编码格式</param> /// <returns></returns> public string GetHttpPostResponse(string url, string val, Encoding encoding) { string strResult = string.Empty; try { HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(url); myReq.Method = "Post"; myReq.ContentType = "application/x-www-form-urlencoded"; byte[] byteArray = encoding.GetBytes(val); myReq.ContentLength = byteArray.Length; Stream stream = myReq.GetRequestStream(); stream.Write(byteArray, 0, byteArray.Length); stream.Close(); HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse(); Stream myStream = HttpWResp.GetResponseStream(); StreamReader sr = new StreamReader(myStream, encoding); strResult = sr.ReadToEnd(); } catch{} return strResult; }
如果数据量过大,则建议使用流的方式
方法如下
byte[] bytes=null; if(sType=="2") { bytes= Encoding.UTF8.GetBytes(sb.ToString()); } else { bytes= Encoding.UTF8.GetBytes(sbd.ToString()); } bool b =PostBaitourZrateModel(strurl,bytes);/// <summary> /// POST数据得到结果 /// </summary> /// <param name="strUrl">URL</param> /// <param name="strParm">参数</param> /// <returns>string</returns> private static bool PostBaitourZrateModel(string strUrl, byte[] strParm) { StringBuilder str = new StringBuilder(); bool isRec = false; try { Encoding encode = System.Text.Encoding.UTF8; HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(strUrl); myReq.Timeout = 900000; myReq.Method = "POST"; myReq.ContentType = "multipart/form-data"; myReq.ContentLength = strParm.Length; myReq.AllowWriteStreamBuffering = false; Stream outStream = myReq.GetRequestStream(); outStream.Write(strParm, 0, strParm.Length); outStream.Close(); WebResponse myResp = null; myResp = myReq.GetResponse(); Stream ReceiveStream = myResp.GetResponseStream(); StreamReader readStream = new StreamReader(ReceiveStream, encode); Char[] read = new Char[256]; int count = readStream.Read(read, 0, 256); while (count > 0) { str.Append(new String(read, 0, count)); count = readStream.Read(read, 0, 256); } readStream.Close(); myResp.Close(); if (str.ToString().ToUpper().IndexOf("SUCCESS") >= 0) { isRec = true; } } catch (Exception ex) { isRec = false; new Error().WriteFilesErrorLog(ex.Message,"12580消息通知"); } return isRec; }C#接收post请求的数据
private string PostInput() { try { System.IO.Stream s = Request.InputStream; int count = 0; byte[] buffer = new byte[1024]; StringBuilder builder = new StringBuilder(); while ((count = s.Read(buffer, 0, 1024)) > 0) { builder.Append(Encoding.UTF8.GetString(buffer, 0, count)); } s.Flush(); s.Close(); return builder.ToString(); } catch (Exception ex) { throw ex; } }
- c#POST请求和接收post请求
- bottle接收post请求
- flask接收post请求
- Java Post 数据请求和接收
- PHP接收GET和POST请求
- Java POST请求发送和接收
- jquery post请求参数和接收方式
- node.js 接收post请求
- c# 接收手动post请求
- Struts 2 接收post请求
- nodejs接收post请求参数
- nodejs接收post请求参数
- Servlet接收Post请求以及回复请求
- c#POST请求
- get请求和post请求
- get请求和post请求
- GET请求和POST请求
- GET请求和POST请求
- 深入解析Linux中的fork函数
- blog
- 使用Jsoup进行网页数据抓取
- SQL Server 2008 开启1433端口
- 单例模式
- c#POST请求和接收post请求
- oracle中的savepoint设置
- NOR Flash、NAND Flash和iNAND Flash的不同点
- Spring中DispacherServlet、WebApplicationContext、ServletContext的关系
- InvalidateRect
- __attribute__机制介绍
- SQL存储过程动态查询数据区间
- 公共父节点
- Windows下用VirtualBox搭建Ubuntu环境做Ruby on Rails开发